书籍详情

UNIX编程艺术(英文版)

UNIX编程艺术(英文版)

作者:(美)雷蒙德(Raymond,E.S) 著

出版社:人民邮电出版社

出版时间:2006-08-01

ISBN:9787115149862

定价:¥52.00

购买这本书可以去
内容简介
  本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,总结了Unix发展史上成功的经验和失败的教训、经过时间验证的编码策略以及普遍适用的实用工具。本书由著名的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年编写而成,汇集了Unix之父Ken Thompson等13位Unix先锋的经典评论。本书内容涉及领域文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧,是Unix领域中一本不朽的经典名著。.本书的编写历时5年,作者将其30年中未见纸端的UNIX软件工程智慧结晶奉献给读者。作者第一次将软件哲学、设计模式。工具.文化和传统精华展示给读者,这些精华使UNIX成为具有创新意义的软件,并展示了它们如何影响着当今的Linux和开源运动。本书中包含的大量实例都来源子重要的开源项目,通过这些实例,可以教会UNIX和Linux程序员如何使软件更优雅、更可移植,更加长效以及更具可重用性。...
作者简介
  本书提供作译者介绍Eric S.Raymobd从1982年开始从事UNIX开发。作为开源社文化的倡导者和呼吁者。他在《大教堂与市集》中发表了这场运动的宣言,同时他还编辑了《新黑客词典》一书。...
目录
Contents
I Context
   1 Philosophy:Philosophy Matters
1.1    Culture?What Culture?
1.2    The Durability of  Unix
1.3    The Case against Learning  Unix Culture
1.4    What Unix Gets Wrong
1.5     What Unix Gets Right
1.6     Basics of the Unix Philosophy
1.7    The Unix Philosophy in One Lesson
1.8     Applying the Unix Philosophy
1.9    Attitude Matters Too
2    History: A Tale of Two Cultures
2.1    Origins and History of Unix,1969-1995
2.2    Origins and Histry of the Hackers,1961-1980
2.3    The Open-Source Movement:1998 and Onward
2.4    The Lessons of Unix History
3    Contrasts: Comparing the Unix Philosophy with Others
3.1    The Elements of Operating-System Style
3.2    Operating-System Comparisons
3.3    What Goes Around,Comes Around
II  Design
4     Modularity:Keeping It Clean,Keeping It Simple
4.1    Encapsulation and Optimal Module Size
4.2    Compactness and Orthogonality
4.3    Software Is a Many-Layered Thing
4.4    Libraries
4.5    Unix and Object-Oriented Languages
4.6    Coding for Modularity
5    Textuality:Good Protocols Make Good Practice
5.1    The lmportance of Being Textual
5.2    Data File Metaformats
5.3    Application Protocol Design
5.4    Application Protocol Metaformats
6    Transparency: Let There Be Light
6.1    Studying Cases
6.2    Designing for Transparency and Discoverability
6.3    Designing for Maintainability
7    Multiprogramming:Separating Processes to Separate Function
7.1    Separating Complexity Control from Performance Tuning
7.2    Taxonomy of Unix IPC Methods
7.3     Problems and Methods to Avoid
7.4     Process Partitioning at the Design Level
8    Minilanguages: Finding a Notation That Sings
8.1    Understanding the Taxonomy of Languages
8.2     Applying Minilanguages
8.3    Designing Minilanguages
9    Generation: Pushing the Specification Level Upwards
9.1    Data-Driven Programming
9.2     Ad-hoc Code Generation
10    Configuration: Starting on the Right Foot
10.1    What Should Be Configurable?
10.2    Where Configurations Live
10.3    Run-Control Files
10.4    Environment Variables
10.5    Command-Line Options
10.6    How to Choose among the Methods
10.7    On Breaking These Rules
11    Interfaces:User-Interface Design Patterns in the Unix Environment
11.1    Applying the Rule of Least  Surprise
11.2    History of Interface Design on Unix
11.3    Evaluating Interface Designs
11.4    Tradeoffs between CLI and Visual Interfaces
11.5    Transparency,Expressiveness,and Configurability
11.6    Unix Interface Design Patterns
11.7    Applying Unix Interface-Design Patterns
11.8    The Web Browser as a Universal Front End
11.9    Silence Is Golden
12    Optimization:
12.1    Don’t Just Do Something,Stand There!
12.2    Measure before Optimizing
12.3    Nonlocality Considered Harmful
12.4    Throughput vs.Latency
13    Complexity: As Simple As Possible,but No Simpler
13.1    Speaking of Complexity
13.2    A Tale of Five Editors
13.3    The Right Size for an Editor
13.4    The Right Size of Software
III Implementation
14    Languages: To C or Not To C?
14.1    Unix’s Cornucopia of Languages
14.2    Why Not C?
14.3    Interpreted Languages and Mixed Strategies
14.4    Language Evaluations
14.5    Trends for the Future
14.6    Choosing an X Toolkit
15    Tools:The Tactics of Development
15.1    A Developer-Friendly Operating System
15.2    Choosing an Editor
15.3    Special-Purpose Code Generators
15.4    Makd: Automating Your Recipes
15.5    Version-Control Systems
15.6    Runtime Debugging
15.7    Profiling
15.8    Combining Tools with Emacs
16    Reuse: On Not Reinventing the Wheel
16.1    The Tale of J.Random Newbil
16.2    Transparency as the Key to Reuse
16.3    From Reuse to Open Source
16.4    The Best Things in Life Are Open
16.5    Where to Look?
16.6    Lssues in Using Open-Surce Software
16.7    Licensing lssues
IV Community
17    Portability: Software Portability and Keeping Up Standards
17.1    Evolution of  C
17.2    Unix Standards
17.3    IETF and the RFC Standards Process
17.4    Specifications as DNA,Code as RNA
17.5    Prognramming for Portability
17.6    Internationalization
17.7    Portability,Open Standards,and Open Source
18    Documentation:Explaining Your Code to a Web-Centric World
18.1    Documentation Concepts
18.2    The Unix Style
18.3    The Zoo of Unix Documentation Formats
18.4    The Present Chaos and a Possible Way Out
18.5    DocBook
18.6    Best Practices for Writing Unix Documentation
19    Open Source:Programming in the New Unix Community
19.1    Unix and Open Source
19.2    Best Practices for Working with Open-Source Developers
19.3    The Logic of Licenses:How to Pick One
19.4    Why You Should  Use a Standard License
19.5    Varieties of Open-Source Licensing
20    Futures:Dangers and Opportunities
20.1    Essence and A ccident in Unix Tradition
20.2    Plan 9: The Way the Future Was
20.3    Problems in the Design of Unix
20.4    Problems in the Environment of Unix
20.5    Problems in the Culture of Unix
20.6    Reasons to Believe
A   Glossary of Abbreviations
B   References
C   Contributors
D   Rootless Root:: The Unix Koans of Master Foo
Colophon
Index
猜您喜欢

读书导航