UNIX程序设计艺术(影印版)

版权信息书 名: UNIX程序设计艺术(影印版)
作者:(美国)雷蒙德
出版社:中国电力出版社
出版时间: 2006
ISBN: 9787508322070
开本: 16
定价: 52.00 元
内容简介编写更好的软件:30年UNIX开发经验的结晶!
本书是作者封笔30年后历时5年创作而成,是一部难得的软件工程方面的佳作。作者首次将哲学、设计模式、工具、文化和传统结合在一起,使得UNIX成为世界上最好且最创新意义的软件,并展示了如何将其拓展到Linux和当今的开源(open-source)运动中。通过取自最主要的开源项目中的示例,作者向UNIX和Linux编程人员展示了如何更巧妙地创建软件,使其更雅致、更灵巧、更具可重用性且具有更长的生命期。
Raymond借鉴了以下13位UNIX先锋人物的观点:
KenThompson,UNIX的发明者
KenArnold,4BSDUNIX的创建者之一,也是《TheJavaProgrammingLanguage》的作者之一。
StevenM.Bellovin,Usenet的创始人之一,也是《FirewallsandInternelSecurity》的作者之一。
StuartFeldman,贝尔实验室UNIX开发组成员,也是《make》和《f77》的作者。
Jimgettys和KeithPackard,X视窗系统的主创人员。
SteveJohnson,《yacc》和《PortableCCompiler》两书的作者。
BrianKernighan《TheCProgrammingLanguage》、《TheUNIXProgrammingEnvironment》及《ThePracticeofProgramming》等几本书的作者之一,也是awk编程语言的作者之一。
DavidKorn,kornshell的创始人,也是《TheNewKornShellCommandandProgrammingLanguage》的作者。
MikeLesk,贝尔实验室开发组成员,ms宏包、tbl和refer工具以及lex与UUCP的作者
DougMcllroy,贝尔实验室研究组主任,UNIX即诞生于此;同时他还是UNIX管道的发明者。
MarshallKirkMcKusick,4.2BSD快速文件系统的开发者,4.3BSD和4.4BSD开发组的领导。
HenrySpencer,早期UNIX开发者中的佼佼者,他创建了getopt、第一个开源字符串库以及用于4.4BSD的正则表达式引擎。
“Readingthisbookhasfilledagapinmyeducation.Ifeelasenseofcompletion,understandthatUNIXisreallyastyleofcommunity.NowIgetit,atleastIgetitoneleveldeeperthanIeverdidbefore.Thisbookcameataperfectmomentforme,amomentwhenIshiftedfromvisualizingprogramsasthingstoprogramsastheshadowscastbycommunities.Fromthisperspective,EricmakesUNIXmakeperfectsense。”
作者简介EricS.Raymond多年前即从事NUIX开发。他以开源社区巡回大使的身份而著称。他在著名的《TheCathedralandtheBazaar》、《大教堂和市集》中发表了开源运动的宣言,并且还编著了《TheNewHacker'sDictionary》一书。
目录Preface
I.CONTEXT.
1.Philosophy.
Culture?Whatculture?
ThedurabilityofUnix.
ThecaseagainstlearningUnixculture.
WhatUnixgetswrong.
WhatUnixgetsright.
BasicsoftheUnixphilosophy.
TheUnixphilosophyinonelesson.
ApplyingtheUnixphilosophy.
Attitudematterstoo.
2.History.
OriginsandhistoryofUnix,1969-1995.
Originsandhistoryofthehackers,1961-1995.
Theopen-sourcemovement:1998andonward.
ThelessonsofUnixhistory.
3.Contrasts.
Theelementsofoperating-systemstyle.
Operating-systemcomparisons.
Whatgoesaround,comesaround.
II.DESIGN.
4.Modularity.
Encapsulationandoptimalmodulesize.
Compactnessandorthogonality.
Libraries.
Unixandobject-orientedlanguages.
Codingformodularity.
5.Textuality.
TheImportanceofBeingTextual.
Datafilemetaformats.
Applicationprotocoldesign.
Applicationprotocolmetaformats.
6.Transparency.
Somecasestudies.
Designingfortransparencyanddiscoverability.
Designingformaintainability.
7.Multiprogramming.
Separatingcomplexitycontrolfromperformancetuning.
TaxonomyofUnixIPCmethods.
Problemsandmethodstoavoid.
Processpartitioningatthedesignlevel.
8.Minilanguages.
9.Transformation.
10.Configuration.
11.Interfaces.
12.Optimization.
13.Complexity.
III.IMPLEMENTATION.
14.Languages.
15.Tools.
16.Re-Use.
IV.COMMUNITY.
17.Portability.
18.Documentation.
19.OpenSource.
20.Futures.
A.GlossaryofAbbreviations.
B.References.
C.Contributors.