新书报道
当前位置: 首页 >> 电子电气计算机信息科学 >> 正文
The art of Unix programming = UNIX编程艺术
发布日期:2007-04-04  浏览
[内容简介]
这是一本令人愉悦使人着迷的读物,可以教授任何操作系统上的程序员以解决问题的经验。 本书的编写历时5年,作者将其30年中未见纸端的UNⅡX软件工程智慧结晶奉献给读者。作者第一次将软件哲学、设计模式、工具、文化和传统精华展示给读者,这些精华使UNIX成为具有创新意义的软件,并展示了它们如何影响着当今的Linux和开源运动。本书中包含的大量实例都来源于重要的开源项目,通过这些实例,可以教会UN...
[目次]
Contents
I Context 1
1 Philosophy: Philosophy Matters 3
1.1 Culture? What Culture? 3
1.2 The Durability of Unix 4
1.3 The Case against Learning Unix Culture 5
1.4 What Unix Gets Wrong 6
1.5 What Unix Gets Right 7
1.5.1 Open-Source Software 7
1.5.2 Cross-Platform Portability and Open Standards 8
1.5.3 The Internet and the World Wide Web 8
1.5.4 The Open-Source Community 9
1.5.5 Flexibility All the Way Down 9
1.5.6 Unix Is Fun to Hack 10
1.5.7 The Lessons of Unix Can Be Applied Elsewhere 11
1.6 Basics of the Unix Philosophy 11
1.6.1 Rule of Modularity: Write simple parts connected by clean interfaces. 14
1.6.2 Rule of Clarity: Clarity is better than cleverness. 14
1.6.3 Rule of Composition: Design programs to be connected with other programs. 15
1.6.4 Rule of Separation: Separate policy from mechanism;separate interfaces from engines. 16
1.6.5 Rule of Simplicity: Design for simplicity; add complexity only where you must. 17
1.6.6 Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do. 18
1.6.7 Rule of Transparency: Design for visibility to make inspection and debugging easier. 18
1.6.8 Rule of Robustness: Robustness is the child of transparency and simplicity. 18
1.6.9 Rule of Representation: Fold knowledge into data, so program logic can be stupid and robust. 19
1.6.10 Rule of Least Surprise: In interface design, always do the least surprising thing. 20
1.6.11 Rule of Silence: When a program has nothing surprising to say, it should say nothing. 20
1.6.12 Rule of Repair: Repair what you can?but when you must fail, fail noisily and as soon as possible. 21
1.6.13 Rule of Economy: Programmer time is expensive; conserve it in preference to machine time. 22
1.6.14 Rule of Generation: Avoid hand-hacking; write programs to write programs when you can. 22
1.6.15 Rule of Optimization: Prototype before polishing. Get it working before you optimize it. 23
1.6.16 Rule of Diversity: Distrust all claims for “one true way”. 24
1.6.17 Rule of Extensibility: Design for the future, because it will be here sooner than you think. 24
1.7 The Unix Philosophy in One Lesson 25
1.8 Applying the Unix Philosophy 26
1.9 Attitude Matters Too 26
2 History: A Tale of Two Cultures 29
2.1 Origins and History of Unix, 1969?1995 29
2.1.1 Genesis: 1969?1971 30
2.1.2 Exodus: 1971?1980 32
2.1.3 TCP/IP and the Unix Wars: 1980?1990 35
2.1.4 Blows against the Empire: 1991?1995 41
2.2 Origins and History of the Hackers, 1961?1995 43
2.2.1 At Play in the Groves of Academe: 1961?1980 44
2.2.2 Internet Fusion and the Free Software Movement: 1981?1991 45
2.2.3 Linux and the Pragmatist Reaction: 1991?1998 48
2.3 The Open-Source Movement: 1998 and Onward 49
2.4 The Lessons of Unix History 51
3 Contrasts: Comparing the Unix Philosophy with Others 53
3.1 The Elements of Operating-System Style 53
3.1.1 What Is the Operating System’s Unifying Idea? 54
3.1.2 Multitasking Capability 54
3.1.3 Cooperating Processes 55
3.1.4 Internal Boundaries 57
3.1.5 File Attributes and Record Structures 57
3.1.6 Binary File Formats 58
3.1.7 Preferred User Interface Style 58
3.1.8 Intended Audience 59
3.1.9 Entry Barriers to Development 60
3.2 Operating-System Comparisons 61
3.2.1 VMS 61
3.2.2 MacOS 64
3.2.3 OS/2 65
3.2.4 Windows NT 68
3.2.5 BeOS 71
3.2.6 MVS 72
3.2.7 VM/CMS 74
3.2.8 Linux 76
3.3 What Goes Around, Comes Around 78
II Design 81
4 Modularity: Keeping It Clean, Keeping It Simple 83
4.1 Encapsulation and Optimal Module Size 85
4.2 Compactness and Orthogonality 87
4.2.1 Compactness 87
4.2.2 Orthogonality 89
4.2.3 Th

关闭


版权所有:西安交通大学图书馆      设计与制作:西安交通大学数据与信息中心  
地址:陕西省西安市碑林区咸宁西路28号     邮编710049

推荐使用IE9以上浏览器、谷歌、搜狗、360浏览器;推荐分辨率1360*768以上