转载VeryCD --星月夜
1.The Art of Computer Programming
Author: Donald.E.Knuth
Web site: http://www-cs-faculty.stanford.edu/~knuth/taocp.html
Book Info: 这部书被誉为20世纪最重要的20部著作之一,与Einstein的<<相对论>>并列,是计算机科学领域的权威著作.全书共分7卷,目前已经出版了3卷,被誉为"计算机程序设计理论的荷马史诗","可与牛顿的<<自然科学的数学原理>>媲美的巨著".作者数学方面的功底造就了本书严谨的风格,虽然本书不是用当今流行的程序设计语言描述的,但这丝毫不损伤它"程序设计史诗"的地位.道理很简单,它内涵的设计思想是永远不会过时的.The Art of Computer Programming 原计划要出七册,但目前只完成了三册.该书有日文,俄文,西班牙文等许多国的版本.其中,中文版由国防大学出版社发行.
Book Reviews:
无数的读者都在谈论Knuth的书所带来的深远影响.科学家惊叹于分析逻辑之透彻严谨,而普通的编程人员也已成功地将书中所列方案运用到他们的日常问题中.所有的人都非常赞赏Knuth在这套书中所表现的精确与风趣,并为其明确性与涉及面之广而感到欣喜.
我无法向你表达这套书在学习和创造性方面所带给我的兴奋与激动,我已经将它们带入了我的生活,就像我的汽车,饭馆,工作,家庭……无所不在.
----Charles Long
无论你的背景怎样,如果你正在进行复杂的计算机编程,你就应该阅读本套书中的每本书,来补充你的专业知识.
当一个问题难以解决,而必须使用Knuth的这套书来解决时,总是一件令人愉快的事情.我发现在计算机方面使用它们会有惊人的效果.
----Jonathan Laventhol
如果你认为你是一名真正优秀的程序员……读Knuth的<<计算机程序设计艺术>>,如果你能读懂整套书的话,请给我发一份你的简历.
----Bill Gates
The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
Author: Donald.E.Knuth
Publisher: Prentice Hall
Amazon Reviews: Amazon.com
Book Info: 卷1为基础运算法则,该书以基本的编程概念和技术为开始,然后讲述信息结构--计算机内信息的表示法,数据元素间的结构关系以及处理它们的有效方法.主要应用于模拟,数字方法,符号计算,软件和系统设计.许多简单和重要的运算法则和技术已添加到前一版本中,精确的初步计算部分已经修改,以适应当前趋势.
The Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition)
Author: Donald.E.Knuth
Publisher: Prentice Hall
Amazon Reviews: Amazon.com
Book Info: 第2卷对半数值算法领域做了全面介绍,分"随机数"和"算术"两章.本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系.第3版中特别值得注意的是Knuth对随机数生成程序的重新处理和对形式幂级数计算的讨论.
The Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
Author: Donald E.Knuth
Publisher: Prentice Hall
Amazon Reviews: Amazon.com
Book Info: 卷3为分拣和搜索,这是本书的第1个修订版,它是对计算机分拣和搜索的一流技术的最全面的研究,它扩展了卷1中数据结构的处理方法,将大小数据库以及内存和外部存储都包含在内.本书包括对计算机方法仔细检查的选择方案,和其效率的大量分析.本书该版的独特之处在于优化了的分拣,以及对通用散列法和排列法的新的理论论述.
作者简介:
Donald.E.Knuth(唐纳德.E.克努特,中文名高德纳)是算法和程序设计技术的先驱者,是计算机排版系统TeX和METAFONT的发明者,他因这些成就和大量创造性的影响深远的著作(19部书和160篇论文)而誉满全球,在计算机科学领域享有崇高的威望,是计算机科学界公认的大宗师.作为斯坦福大学计算机程序设计艺术的荣誉退休教授,他当前正全神贯注于完成其关于计算机科学的史诗性的七卷集.这一伟大工程在1962年他还是加利福尼亚理工学院的研究生时就开始了.Knuth教授获得了许多奖项和荣誉,包括美国计算机协会图灵奖(ACM Turing Award),美国前总统卡特授予的科学金奖(Medal of Science),美国数学学会斯蒂尔奖(AMS Steele Prize),以及1996年11月由于发明先进技术荣获的极受尊重的京都奖(KyotoPrize).现与其妻Jill生活于斯坦福校园内.
Donald.E.Knuth人生最辉煌的时刻在斯坦福大学计算机系渡过,获得了美国计算机协会图灵奖,成为本领域内当之无愧的泰斗.
----------------------------------------------------------------
2.Introduction to Algorithms
Author:Thomas H.Cormen ,Charles E.Leiserson ,Ronald L.Rivest ,Clifford Stein
Amazon Reviews: Amazon.com
Book Info: 简称为CLRS的<<算法导论>>,被称作"计算机算法的圣经".
本书的主要作者来自麻省理工大学计算机,作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了图灵奖,目前是算法的标准教材,美国许多名校的计算机系都使用它,国内有些院校也将本书作为算法课程的教材.另外许多专业人员也经常引用它.由于TAOCP只出版了3卷,CLRS比较起前者来则显得内容更为全面,基本包含了所有的经典算法.本书程序全部由伪代码实现,这更增添了本书的通用性,使得利用各种程序设计语言的程序员都可以作为参考.语言方面通俗,很适合作为算法教材和自学算法之用.国内的很多作品名为数据结构,从本书中断章取义,把数据结构与算法混为一谈,搞得作者自己都迷迷糊糊.这也是我不十分愿意向大家推荐国内作品的原因.你会发现现在基本上所有的数据结构与算法书籍都会将本书作为参考文献之一,更可以说明一个问题,本书是作为读者进行算法学习的最佳选择.作为本书的补充内容,我愿意向大家推荐下面的学习资料:你可以通过这个地址找到本书的所有练习答案:http://www.itu.dk/people/beetle/.为了更好的学习本书中的内容,最好的指导当然是来自作者本身讲述本书的课程,读者们可以通过http://18.89.1.101/sma/5503fall2001/index5503fall2001.html获得课程的录像.
----------------------------------------------------------------
3.Data Structure & Algorithm Analysis in C (Second Edition)
Author:Mark Allen Weiss
Published:September 1996
Web site:http://www.cs.fiu.edu/~weiss/
Amazon Reviews: Amazon.com
Book Info: 本书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树.他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材.
----------------------------------------------------------------
4.Concrete Mathematics A Foundation for Computer Science(Second Edition)
Author:Donald.E.Knuth&Ronald L.Graham
Web site: http://www-cs-faculty.stanford.edu/~knuth/gkp.html
Amazon Reviews: Amazon.com
Book Info: 很令人兴奋的就是这本书的主要作者正是泰斗Donald.E.Knuth以及他的同事Ronald L.Graham.书稿是他们在1970年的时候在计算机系教授研究生本门课程的基础上整理出来的教材.内容上是Knuth的巨著TAOCP第一部的扩展,有些比TAOCP中谈及地又深入了许多.重点放在高级计算机程序设计话题以及算法分析上,涉及了计算机科学领域内几乎所有可能遇到的数学知识.具体数学是离散数学和连续数学的综合,书中这点做得极为出色,介绍的内容涉及到书中许多经典问题的解答比目前广泛流传的解法更易懂.对于提高大家的计算数学修养有很大帮助.之所以TAOCP有的时候读者们读不懂就是因为计算数学基础不是十分扎实,但以我个人经验,若能对本书中内容有一个比较好的理解,会给你阅读如TAOCP这样的旷世巨著带来很大的方便.
----------------------------------------------------------------
5.Discrete Mathematics and Its Applications,Fourth Edition
Author:Kenneth H.Rosen
Amazon Reviews: Amazon.com
Book Info: 本书的价值已经被全世界几百所大学所证实,作为离散数学领域的经典教材,全世界几乎所有知名的院校都曾经使用本书作为教材.以我个人观点看来,这本书可以称之为离散数学百科.书中不但介绍了离散数学的理论和方法,还有丰富的历史资料和相关学习网站资源.更为令人激动的便是这本书少有的将离散数学理论与应用结合得如此的好.你可以看到离散数学理论在逻辑电路,程序设计,商业和互联网等诸多领域的应用实例.本书的英文版(第五版)当中更增添了相当多的数学和计算机科学家的传记,是计算机科学历史不可多得的参考资料.作为教材这本书配有相当数量的练习.每一章后面还有一组课题,把学生已经学到的计算和离散数学的内容结合在一起进行训练.这本书也是我个人在学习离散数学时读的唯一的英文教材,实为一本值得推荐的好书.
----------------------------------------------------------------
6.The C Programming Language 2nd Edition
Author:Brian W.Kernighan and Dennis M.Ritchie
Publisher:Prentice Hall
Published: 1988.
Page:294
Amazon Reviews: Amazon.com
Book Info: Brian W.Kernighan和Dennis M.Ritchie的传世之作.千千万万程序员和编程爱好者的圣经,每一页都是价值连城的秘诀.不管你从哪一页信手翻起,最终你都会发现自己已经深陷其中而不能自拔.
----------------------------------------------------------------
7.The C++ Programming Language
Author:Bjarne Stroustrap
Amazon Reviews: Amazon.com
Book Info: 由C++之父亲手执笔的<<The C++ Programming Language>>是每个程序员心目中不可动摇的指南-----尽管官方标准还是ISO颁布的另一份文档,由ISO/IEC JTC1/SC22/WG21出版.TCPL是除了C++标准文献之外最权威的C++参考手册.和大多数人的看法不大一样,我认为Bjarne的文字语言并不逊色于他所创建的程序语言,至少我喜欢这种学院气息浓厚的作品.本书对C++语言的描述轮廓鲜明,直截了当.它从C++语言创建者的角度来观察C++,这是任何别的作者和书籍做不到的----没有任何人比Bjarne自己更清楚该怎么来使用C++.
这是一本严肃的著作,以中,高级C++开发人员为目标读者.如果你是一名有经验的C++程序员,需要了解更加本质的C++知识,本书正是为你而写.它不是那种让你看了会不断窃喜的小书,需要用心体会,反复咀嚼.在阅读过程中,请特别留心Bjarne先生强调了什么,又对什么一语带过.我个人比较喜欢这本书的第四部分"使用C++做设计",这样的内容在类似的程序设计语言书籍中很难看到----我甚至认为Bjarne应该将这部分独立出来单独写一本书.
----------------------------------------------------------------
8.The Design and Evolution of C++
Author: Bjarne Stroustrup
Amazon Reviews: Amazon.com
Book Info: D&E是一本关于C++语言设计原理,设计决策和设计哲学的专著.它清晰地回答了C++为什么会成为今天这个样子而没有变成另外一种语言.作为C++语言的创建者,Bjarne淋漓尽致地展示了他独到而深刻的见解.除了广受赞誉的语言特性外,Bjarne没有回避那些引起争议的甚至被拒绝的C++特性,他一一给出了逻辑严密,令人信服的解释.内容涵盖C++的史前时代,带类的C,C++的设计规则,标准化,库,内存管理,多重继承,模板等,对包括异常机制,运行时类型信息和名字空间在内的重要的新特性都分别进行了深入探讨.每一名C++程序员都应该可以从Bjarne的阐释中加深对手中这门语言的认识.这本书知识浓缩,信息量极大,请不要错过Bjarne每一句看似漫不经意的话.
----------------------------------------------------------------
9.Accelerated C++: Practical Programming by Example
Author: Andrew Koenig, Barbara E.Moo
Publisher: Addison-Wesley Professional
Published: January 15, 2000
Amazon Reviews: Amazon.com
Book Info: 和市面上大多数C++教程不同,本书不是从"C++中的C"开始讲解,而是始于地道的C++特性.从一开始就使用标准库来写程序,随着讲述的逐渐深入,又一一解释这些标准库组件所依赖的基础概念.另外,和其他C++教材不同的是,这本书以实例拉动语言和标准库的讲解,对后两者的讲解是为了给实例程序提供支持,而不是像绝大多数C++教材那样,例子只是用作演示语言特性和标准库用法的辅助工具.
作者在C++领域的编程实践,教育培训以及技术写作方面都是世界一流水准.我喜欢这种大量使用标准库和C++语言原生特性的清新的写作风格.在这本教材面前,几乎迄今为止的所有C++教材都黯然失色或显得过时.尽管这本教材也许对于国内的高校教育来说有些前卫,不过我仍然极力向我的同行们推荐.顺带一提,在Bjarne和我最近的一封通信里,他这样评价本书:对于有经验的程序员学习C++而言,这本书可能是世界上最好的一本.
----------------------------------------------------------------
10.C++ Gotchas: Avoiding Common Problems in Coding and Design
Author: Stephen C.Dewhurst
Publisher: Addison-Wesley Professional; 1st edition (November 26, 2002)
Amazon Reviews: Amazon.com
Book Info: Stephen的理论素养和实践经验注定这是一本值得一读的好书.Stephen曾经是贝尔实验室中第一批C++使用者.他已经使用C++成功解决了包括编译器,证券交易,电子商务以及嵌入式系统等领域中的问题.本书汇集了作者来自开发一线的99条编程真知灼见,洞悉它们,你可以避免几乎所有常见的C++设计和编程问题.
我甚至认为,对于C++编程菜鸟而言,阅读这本书会比阅读Scott和Herb的书更能轻松而立竿见影地获得更大的提高.我个人很喜欢这本书的写作风格----Stephen的许多观点看似极端却无可辩驳.当然了,这种自信(以及冷幽默)来自于作者深厚的技术素养,而非自大的偏执.
----------------------------------------------------------------------------------
11.C++ Primer 3rd
Author: Stanley B.Lippman
Amazon Reviews: Amazon.com
Book Info: 这本书的名字多少有点让人误解.尽管作者声称这本书是为C++新手而写,但无论是它的厚度还是讲解的深度都暴露了似乎并非如此.也许说它是一本"从入门到精通"的C++教程会更合适一些.我个人认为它并不适合完全不懂C++的初学者----在阅读这本书之前,你至少应该先有那么一点C或C++的背景知识,或者至少要具有一些其他语言的编程经验.
尽管这本书省略了一些高级C++特性的讨论,但仍然可以称得上是迄今为止最全面的C++学习教程.事实上,如果一名C++初学者能够扎扎实实地读完本书并对照<<C++ Primer Answer Book>>完成全部习题的话,他的水平肯定可以进入职业C++程序员的行列.我个人认为,即使你已经拥有了TCPL,这本书依然有拥有的价值,因为在许多方面它比TCPL来得更详细,更易懂.
----------------------------------------------------------------
12.Essential C++
Author: Stanley B.Lippman
Amazon Reviews: Amazon.com
Book Info: 可以不太严格地认为这本书是<<C++ Primer>>的精简版.本书一一讲述了C++中最具代表性的主题,包括过程式编程,泛型编程,基于对象编程,面向对象编程,模板编程以及异常处理等.Stanley将门槛调低到"具有其他语言程序设计经验"的C++新手所能接受的最基本的层次,使他们能够迅速开始使用C++编程而又免于阅读<<C++ Primer>>那样的大部头.它以实例引导学习,力图使读者在最短的时间内把握C++的精粹.
也许换一个人来概述C++编程范型(paradigm)的方方面面需要好几百页才能说清楚,但这本小书不可思议地做到了这一点.我个人非常喜欢这种满是技术,简明扼要并且"有话好好说"的书.这本书同样具有一个明显的风格:所有程序例子全部采用标准库组件,让人耳目一新.
----------------------------------------------------------------
13.Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition)
More Effective C++: 35 New Ways to Improve Your Programs and Designs
Author: Scott Meyers
Publisher:Prentice Hall
Amazon Reviews: Amazon.com
Amazon.com
Book Info: 先养成良好的C++设计习惯,这是Scott Meyers的<<Effective C++>>和<<More Effective C++>>带给我们的无穷好处,这两本书是真正的经典,作者对C++的纯熟,使得语言的风格读起来简直是如饴甘甜,就像他站在你对面讲课.如果你已经深刻地理解了<<Effective C++>>和<<More Effective C++>>,那你可以发现,你在众人中已经是鸡群之鹤.
如果说<<Effective C++>>主要讨论C++中一些相对基础的概念和技巧的话,那么<<More Effective C++>>则着重探讨了包括异常处理在内的一系列高级技术.与前者相比,后者具有两大主要区别:其一,它包含很多时新的标准C++的内容;第二,它讨论的主题倾向于"战略化"而非"战术化",并且讨论得更深入,更彻底.尤其是对虚析构函数,智能指针,引用计数以及代理类(proxy classe)等技术和模式论述的深入程度,让人很难想象是出现于这样的一本小书之中.
----------------------------------------------------------------
14.Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions
Author: Herb Sutter
Book Info: 你自认为是一名C++语言专家吗?读一读ISO C++标准委员会秘书长的这两本书再回答.在这两本书中,Herb采用了"问答"的方式指导你学习C++语言特性.对于每一个专题,Herb首先合理地设想出你的疑问和困惑,接着又猜测出你十有八九是错误的解答,然后给你以指点并提出最佳解决方案,最后还归纳出解决类似问题的普适性原则.
这两本书是典型的深究C++语言细节的著作,很薄,但内容密集,远远超过Scott的那两本书,读起来很费脑筋----我个人认为它们要比Scott的书难懂得多.若要研习这薄薄的两本书所包含的知识,至少需要花费数月的时间!(在Scott的荐序中,他坦陈不止一次陷入GotW问题的陷阱,你应该知道这意味着什么)对于语言细节的深究有什么好处呢?尽管在大多数情况下,我们不必关心C++代码幕后的动作,然而当我们不得不关心时,这两本书可以为我们提供很好的线索,因为它们揭示了C++语言中微妙而又至关重要的东西.
----------------------------------------------------------------
15.Modern C++ Design: Generic Programming and Design Patterns Applied
Author: Andrei Alexandrescu
Publisher: Prentice Hall
Amazon Reviews: Amazon.com
Book Info: 你自认为是C++模板编程高手吗?请看过这本书再回答.这是一本出自天才之手令人敬畏的杰作.泛型模式,无限延伸你的视野,足以挑战任何一名C++程序员的思维极限.
这本书共分为两大部分,第一部分讨论了Loki程序库采用的基础技术以及一些高级语言特性,包括基于策略的类设计,模板局部特化,编译期断言,Typelist以及小型对象分配技术等.第二部分则着重介绍了Loki中的重要组件和泛型模式技术,包括泛化仿函数(Generalization Functor),单件(Singleton),智能指针,对象工厂(Object Factory),抽象工厂(Abstract Factory),访问者(Visitor)以及多方法(Multimethods)等.每一种技术都让人大开眼界,叹为观止.
----------------------------------------------------------------------------------
16.C++ Templates: The Complete Guide
Author: David Vandevoorde, Nicolai M.Josuttis
Amazon Reviews: Amazon.com
Book Info: 有一种老套的赞美一本书的手法,大致是"没有看过这本书,你就怎么怎么地",这里面往往夸张的成分居多.不过,倘若说"没有看过<<C++ Templates: The Complete Guide>>,你就不可能精通C++模板编程",那么这个论断对于世界上绝大多数C++程序员来说是成立的.这本书填补了C++模板书籍领域由来已久的空白.此前,上有<<Modern C++ Design>>这样的专注于模板高级编程技术和泛型模式的著作,下有<<The C++ Standard Library>>这样的针对特定模板框架和组件的使用指南.然而,假如对模板机制缺乏深入的理解,你就很难"上下"自如.鉴于此,我向每一位渴望透彻理解C++模板技术的朋友推荐这本书.
----------------------------------------------------------------
17.Efficient C++: Performance Programming Techniques
Author: Dov Bulka, David Mayhew
Publisher: Prentice Hall
Amazon Reviews: Amazon.com
Book Info: 这本超薄小书聚焦于高性能C++应用程序开发.两位作者都是IBM软件专家,都工作于对性能要求极高的系统构建领域,本书是他们的经验之谈.也有人不喜欢这本书,因为它花了不少的篇幅讲述和C++无关的东西,我却恰恰因为这一点而对这本书产生好感,正是这些东西让我开阔了眼界.
----------------------------------------------------------------------------------
18.Inside the C++ Object Model
Author: Stanley B.Lippman
Publisher: Addison-Wesley Pub Co
Published: May 3, 1996
Amazon Reviews: Amazon.com
Book Info: 从编译器的角度观察C++可以使你知其然并知其所以然.本书探讨了大量的C++面向对象程序设计的底层运作机制,包括构造函数,函数,临时对象,继承,虚拟,模板的实例化,异常处理,运行期类型识别等,另外还介绍了一些在实现C++对象模型过程中做出的权衡折衷.喜欢刨根问底的C++程序员可以从中了解了无数的编译器解释源代码的细节,以及记忆体分配的细节..
----------------------------------------------------------------------------------
19.The Art of Assembly Language
Author: Randall Hyde
Amazon Reviews: Amazon.com
Book Info: 本书以X86系列微机为背景,从简单的Hello程序开始,系统而详细地阐述了X86微机汇编语言编程的各种基础知识和编程技巧,内容涉及到数据表示,存储器管理,各种数据类型,过程,与汇编语言相关的体系结构,控制结构,文件,宏指令,位处理指令,字符串指令,MMX指令,类和对象,以及混合语言编程等,尤其是在高级汇编语言(HLA)方面,该书给予了细致深入的讲解.对于有意学习X86汇编语言编程的程序员来说,这是一本难得的好书.
本书的作者Randall Hyde在大学中教授汇编语言十多年,并且开发了好几个商用软件,具有丰富的汇编语言开发经验.该书的英文电子版受到了成千上万的网站和高级程序员的高度评价,已经成为了高级汇编语言编程方面的一本经典之作.虽然该书的出版时间不长,但在Amazon上为该书作出评价的人很多,而且几乎所有的人都给予5星的评价,可见其内容之好.可以相信,随着时间的推移,它在程序员中的影响会越来越大.
----------------------------------------------------------------
20.The Design and Implementation of the 4.4BSD Operating System
Auther:
Marshall Kirk McKusick, Consultant
Keith Bostic, Berkeley Software Design, Inc.
Michael J.Karels, Berkeley Software Design, Inc.
John S.Quarterman, Texas Internet Consulting
Publisher: Addison-Wesley Publishing Company
Published: 04/30/1996
Amazon Reviews: Amazon.com
Book Info: 是第一本完整描述伯克利最新版本4.4BSD设计和实现的权威性著作.书中介绍了4.4BSD的内部结构和实现4.4BSD的系统功能中所用的概念,数据结构和算法.书中着重对4.4BSD 和 AT&T System V UNIX 版本的不同处作了较详细的描述,并对其设计思想及背景作了清晰的阐述.该书对研究,开发和使用 UNIX 系统,特别是4.4BSD UNIX 实现中的一些新技术,新特点.有很大的参考价值.
----------------------------------------------------------------
21.John Lions:Lions’Commentary on UNIX 6th Edition with Source Code
Author: John Lions
Amazon Reviews: Amazon.com
Book Info: 在20世纪70年代和80年代这一时期,莱昂的几册<<源代码分析>>,曾是人们争相传看的UNIX系统的"地下出版物".我们今天来审视这一著作,尽管其中的代码已属过时,但其注释者所作的大部分注释,依然完美如初.要想学习操作系统原理,就必须阅读和理解源代码.莱昂的工作,使我们中间的大多数人都能达到这一步.
Book Reviews:
本书中的材料确定是有点过时了,其内容不包括图形,网络以及1975年后出现的新事物.即使在1979年的编译中也不再使用的线性搜索,基本数据结构和C代码还保留在本书的源代码中,而该代码面向的计算机非常简单,只比存储器稍稍多一些.从中你会发现有很多粗糙之处.但是在代码中你也可以观察到其基本结构,该结构沿用了很长时间,而且能够包容在计算环境中发生的巨大变化.在莱昂的分析中,你可以觉察到新鲜的,经常提出问题的立场,其中的很多词语和思想都很适宜于教育和学习.莱昂非常清楚地赞赏他阅读的UNIX源代码,但又立即指出其不足之处.他帮助他的学生理解蕴含在源代码中的很多思想和主题,也坦率地说明他对该代码某些部分感到的困惑之处.此处重印的文献已经教育了一代人,它是计算机界中复印数量最多的一本书稿.将此公开记录在案是件大好事.
----丹尼斯.M .里奇
最后我还想提及的是:现在,得到最广泛传播的一份地下计算机科学文献已经可以自由地使用了.我对1977年中的那一天仍然是记忆犹新,那时我接到邮寄来的此书的第一份草稿,开始时我对此书并无很多期望,但是最后却是逐字逐句进行了仔细阅读.20年之后,此书依旧是对一个实际操作系统工作的最好分析说明.
----肯·汤姆森
(汤姆森和里奇因为开发和实现UNIX操作系统而共同获得1983年ACM美国计算机协会图灵奖).
----------------------------------------------------------------
22.Operating Systems: Design and Implementation (Second Edition)
Author: Andrew S.Tanenbaum, Albert S.Woodhull
Publisher: Prentice Hall; 2nd edition (January 15, 1997)
Amazon Reviews: Amazon.com
Book Info: 本书是一本理论结合实践的杰出教材.作者不仅介绍了所有基本原理,如:进程,进程间通信,输入/输出,虚拟存储,文件系统及系统安全,也介绍了线程概念,同时又详尽地讨论了MINIX系统(一种UNIX兼容系统),使学生不仅能学到原理,还能通过使用MINIX来了解如何将这些原理应用到真实的操作系统中.作者更新了所有原理性材料以反映该领域的新进展.基于POSIX的MINIX系统经修订后可运行在基于奔腾(Pentium)的计算机上.MINIX代码可用于Ethernet和TCP/IP联网环境.每本书均附光盘,内含MINIX全部源码和可运行各种计算机上的两个模拟程序.每章后均附思考题.
----------------------------------------------------------------
23.Modern Operating Systems (2nd Edition)
Author: Andrew Tanenbaum
Publisher: Prentice Hall
Amazon Reviews: Amazon.com
Book Info: 对于软件开发专家以及计算机专业的学生来说,<<现代操作系统>>给出了操作系统设计一个概念上的全面见解,包括Unix/Linux和Windows 2000的详细个案研究.本书共分两部分,第一部分详尽讲述了传统操作系统知识,包括进程,存储器管理,文件系统,I/O设备管理,死锁等内容;第二部分主要介绍了分布式操作系统,包括层次协议,远程过程调用,互斥操作,分布式文件系统等专题.为加深概念的理解,本书还详细介绍了四个操作系统,包括两个传统的系统UNIX和MS-DOS;两个分布式系统Amoeba和Mach.此外还简要介绍了NFS,AFS,ISIS等其他几个系统.本书体系完整,内容丰富,叙述清晰,是大学计算机及相关专业学生不可多得的教科书,对于从事计算机管理,开发,系统分析等职业的专业人员也是优秀的参考书.
----------------------------------------------------------------
24.Operating System Concepts
Author: Abraham Silberschatz, Greg Gagne, Peter Baer Galvin
Amazon Reviews: Amazon.com
Book Info: 本书是计算机类专业操作系统课程的一本经典教材,自第一版问世以来,经历了近20年的锤炼,被认为是该课程教材的一本"圣经".它对操作系统的概念和基本原理给出了清晰的阐述.本书所涉及的基本概念和算法均基于当前商用操作系统,并在非特定操作系统的通用环境中展开讲解.书中介绍了大量与流行操作系统相关的实现技术,包括Solaris2,Linux,Windows NT,Windows 2000,OS/2和Apple Macintosh操作系统.此版包括了线程,Windows 2000的新章节,并新增了客户/服务器
模型和网络文件系统,嵌入式操作系统,实时操作系统,分布式操作系统等.
----------------------------------------------------------------
25.Running MS-DOS
Author: Van Wolverton
Published: 18 November 1993
Book Info: MS-DOS 上的清晰工作!
经过10年无数次竞争,<<Running MS-DOS>>仍是被其它 MS-DOS 奉为标准的书.Van Wolverton 的实际的写作风格,上百张屏幕演示,使得<<Running MS-DOS>>成为任何时候的DOS指南畅销书.再没有哪个计算机书从读者和评论家那里获得过这么多的赞扬.
这本新的,10 周年纪念版本,包括关于 MS-DOS 6.2 最新版本的重要的信息.如果您仅仅只是买了一台 PC 机,或者只是升级到了一个新版本,<<Running MS-DOS>>应当成为您的第一个信息源.<<Running MS-DOS>>实际上是由3本书合成的,包括:
MS-DOS 介绍,以及如何同您的计算机硬件相协调
一个关于了解和使用 MS-DOS 的完整制导
一个命令手册,里面有定义,例子和表格,帮您快速寻找信息!
----------------------------------------------------------------
26.Advanced Programming in the UNIX Environment
Author: Richard W.Stevens, Stephen A.Rago
Publisher: Addison-Wesley Professional
Amazon Reviews: Amazon.com
Book Info: 与大多数其他操作系统类似,Unix对运行其上的程序提供了大量服务,此外,本书与其他Unix编程书籍不同的是,本书除了讲述Unix系统的编程接口----即系统调用接口和由标准C函数库提供的大量函数之外,还通过许多例子和基本原理对Unix编程环境做了更深入的解释和剖析,如怎样创建数据库,页面描述语言的打印机驱动程序,现代拨号程序以及代理进程,处理机间通信,伪终端程序等.本书作者是Unix研究领域的专家,而本书更被誉为是该领域的圣经宝典,相信每一位读者都会在学习本书的过程中体会到它的价值所在.
----------------------------------------------------------------
27.Unix Network Programming
Unix Network Programming, Volume.1: The Sockets Networking API, Third Edition
Author: W.Richard Stevens, Bill Fenner, Andrew M.Rudoff, Richard W.Stevens
Publisher: Addison-Wesley Professional
Amazon Reviews: Amazon.com
Book Info: 这是一本利用应用编程接口(API)编写法对计算机网络进行通信的网络编程的教程.所用的API有两类: 基于BerkeleyUNIX操作系统的"Berkeley"套接字和基于AT&T开发的X Open传输接口XTI.本书分四大部分:Ⅰ.引论和TCP/IP;Ⅱ.基本套接字(Sockets);Ⅲ.高级套接字;Ⅳ.XTI X/Open传输接口.四个附录: A.IPv4,IPv6,ICMPv4和ICMPv6;B.虚拟网络;C.调试技术;D.一些关键源代码.全书内容全面,实用性强,是一本极好的参考书.
UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition)
Author: W.Richard Stevens
Publisher: Addison-Wesley Professional
Amazon Reviews: Amazon.com
Book Info: 一种良好的进程间通信(IPC)形式是复杂精致的UNIX程序性能之关键.本书全面深入地介绍了各种进程间通信形式,包括消息传递,同步,共享内存及远程调用(RPC).作者从介绍IPC的基础及其所要解决的问题开始,逐步引导读者学习如何使System V IPC和新的Posix标准两者都达到极至.书中Pthread的内容有较大的扩充,所附的许多例子反映多个线程而不是多个进程.读者通过本书将能掌握各种现行的IPC技术,其中有:管道和FIFO;Posix和System V消息队列;互斥锁和条件变量;读写锁;记录上锁;Posix和System V信号灯;Posix和System V共享内存;Solaris门和Sun RPC;IPC技术的性能测量.本书内容详尽且具有权威性,几乎每章都有精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材,本书也可作为网络研究和开发人员的自学教材和参考书.
----------------------------------------------------------------
28.TCP/IP Illustrated
Web site: http://www.kohala.com/start/
TCP/IP Illustrated,Volume 1:The Protocols
Author: W.Richard Stevens
Publisher: Addison-Wesley
Amazon Reviews: Amazon.com
Book Info: <<TCP/IP详解,卷1:协议>>是一本完整而详细的TCP/IP协议指南.描述了属于每一层的各个协议以及它们如何在不同操作系统中运行.作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组.对tcpdump输出的研究可以帮助理解不同协议如何工作.本书适合作为计算机专业学生学习网络的教材和教师参考书.也适用于研究网络的技术人员.
TCP/IP Illustrated,Volume 2:The Implementation
Author: Gary R.Wright, W.Richard Stevens
Publisher: Addison-Wesley
Amazon Reviews: Amazon.com
Book Info: 本书完整而详细地介绍了TCP/IP协议是如何实现的.书中给出了约500个图例,15,000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现.本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别.还介绍了4.4BSD-Lite版的新的特点,如多播,长肥管道支持,窗口缩放,时间戳选项以及其他主题等等.读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识.本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员.
TCP/IP Illstrated,Volume 3:TCP for Transactions,HTTP,NNTP,and the UNIX Domain Protocols
Author: W.Richard Stevens
Publisher: Addison-Wesley
Amazon Reviews: Amazon.com
Book Info: 本书是<<TCP/IP详解系列>>的延续.主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快,更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段.当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍.本书同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序.本书适用于希望理解TCP/IP如何工作的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员.
作者简介:
Gary R.Wright 研究TCP/IP多年.他是Connix公司的董事长,这个公司的基地在康涅狄格州,它提供Internet接入和咨询服务.W.Richard Stevens(1951-1999)是一位非常受人尊敬的专家,除了<<TCP/IP详解>>三卷本外,他还有其他两部最为畅销的作品;<<UNIX环境高级编程>>和<<UNIX网络编程>>(两卷本).
----------------------------------------------------------------
29.Routing TCP/IP
CCIE Professional Development:Routing TCP/IP Volume 1
Author: Jeff Doyle
Publisher: Cisco Press; 1st edition (July 1, 1998)
Amazon Reviews: Amazon.com
Book Info: 本书是第一本详细而又完整地介绍互联网络内部网关路由选择协议(IGRP)的专业书籍,堪称有关IGRP方面不可多得的经典之作.本书共分三个部分.第一部分主要介绍了网络和路由选择的基本知识,对TCP/IP和静态,动态路由选择技术作了一个整体的回顾.第二部分是本书的精华,这一部分详细深入地讲述了各种常用的内部网关路由选择协议,如静态路由,RIP,RIPv2,IGRP,EIGRP,OSPF,ISIS等,每一章除了对该协议的实现机制和参数详尽阐述,使读者对协议的实现原理有一个清晰的理解外,还通过在实际网络环境中的实例,详细地论述了该协议在Cisco路由器上的配置和故障处理方法,使读者获取大量解决实际问题的专业技能.第三部分介绍了如缺省路由,路由过滤等多种有效的路由控制工具,用来创建和管理多个IP路由选择协议的协调工作.本书不仅适合那些需要准备通过CCIE考试的考生,而且也适合任何需要完整理解TCP/IP内部路由选择协议的网络设计和工程人员阅读.本书中对协议细节的讲解和对网络实例的探讨相信会让读者获益匪浅.
CCIE Professional Development Routing TCP/IP Volume 2
Author: Jeff Doyle, Jennifer DeHaven Carroll
Publisher: Cisco Press; 1st edition (April 11, 2001)
Amazon Reviews: Amazon.com
Book Info: 本书深入系统地阐述了TCP/IP路由技术,内容包括几种重要的网络协议,如外部网关协议(EGP),边界网关协议(BGP4),以及相应的高级IP路由技术与应用――网络地址转换,IP组播路由技术,IPv6技术,路由器管理等.本书共分9个章节,首先介绍并讨论了主题内容的基本原理,接着是设计用来展示真实网络环境中相关概念的一系列配置范例,最后提供给读者经实践验证过的故障排除方法以解决网络可能会出现的问题.重点介绍了自治系统之间的路由选择策略以及诸如组播和IPv6等更具挑战性的路由选择和实施技术.
----------------------------------------------------------------
30.Data and Computer Communications,Seventh Edition
Author: William Stallings
Amazon Reviews: Amazon.com
Book Info: 本书是著名计算机专业作家 William Stallings 的经典著作之一,内容涉及最基本的数据通信原理,各种类型的计算机网络及多种网络协议和应用.这一版对原有内容做了彻底的修订和重组,使新版对通信各专题的阐述更全面,更清晰.同时,新版加强了无线通信和组网,吉比特以太网,区分服务,MPLS和TCP/IP实现细节等内容.此外,本书还包括词汇表,参考文献,缩写词对照表.每章都附有习题和建议,以便读者进一步阅读.
----------------------------------------------------------------
31.Programming Pearls, 2nd Edition
Author: Jon Bentley
Publisher: Addison-Wesley Professional; 2 edition (September 27, 1999)
Amazon Reviews: Amazon.com
Book Info: 如果让程序员们列出他们最喜欢的书籍,Jon Bentley的<<编程珠玑>>通常可以位于经典之列.如同珍珠来自于曾经折磨牡蛎的沙粒,程序设计的珍珠也来自曾经折磨程序员的实际问题.Bentley的珍珠建立在坚实的工程学基础上,在洞察力和创造力的王国中为那些恼人的问题提供了独特而巧妙的解决方案.通过一些精心设计的有趣而且颇具指导意义的程序,本书对众多实用程序设计技巧及基本设计原则作了清晰而机智的描述.因此,<<编程珠玑>>得到各个层次程序员的青睐并不让人感觉意外.
为了反映当今的程序设计方法和环境,Bentley在本书中彻底更新了第一版里的大多数素材.此外,他还新增加了以下三个方面的内容:1.测试,调试和计时 2.集合表示 3.字符中问题
对原来的所有程序都重新进行了改写,并生成了等量的新代码.您可以从本书网站(www.programmingpearls.com)获取所有程序的C或C++实现.
Book Reviews:
"<<编程珠玑>>第一版是我职业生涯早期阅读过的最有影响力的书籍之一,第一次从该书中学到的许多观点很久以后仍然使我受益匪浅.Jon在第二版中对素材进行了大量更新,这些新例子的新鲜程度给我留下了深刻的印象."
----Steve McConnell <<Code Complete>>等多部畅销书作者
----------------------------------------------------------------
32.The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition
Author: Frederick P, Brooks,Jr.
Publisher: Addison-Wesley Professional; 1st edition (August 2, 1995)
Amazon Reviews: Amazon.com
Book Info: IBM大型电脑之父 Fred Brooks 二十余年开发经验的汇集,远谋深虑,字字珠玑.技术之巧与人文之美的完美结合.本书自第一版以来,畅销二十余年不衰,是软件领域绝无仅有的必读经典.
作者简介:
Frederick P 曾荣获美国计算机领域最具声望的图灵奖(A.M.Turing Award)桂冠.美国计算机协会(ACM)称赞他"对计算机体系结构,操作系统和软件工程做出了里程碑式的贡献."
Brooks 博士是北卡罗莱纳大学 Kenan-Flagler 商学院的计算机科学教授.他被认为是"IBM 360系统之父",曾担任了360系统的项目经理,以及360操作系统项目设计阶段的经理.凭借在上述项目中的杰出贡献,Brooks博士以及Bob Evans和Erich Bloch在1985年荣获了美国国家技术奖(National Medal of Technology).Brooks博士早期曾担任IBM 公司Stretch和Harvest计算机的体系结构设计师.
Brooks 博士创立了北卡罗莱纳大学的计算机科学系,并在1964~1984年期间担任系主任.他还曾任职于美国国家科技局和国防科学技术委员会.他目前的教学和研究方向是计算机体系结构,分子模型绘图和虚拟环境设计.
----------------------------------------------------------------
33.The Pragmatic Programmer
Author: Andrew Hunt,David Thomas
Publisher: Addison Wesley
Published: November 24, 1999
Amazon Reviews: Amazon.com
Book Info: 本书直击编程阵地,穿过了日益增长的现代软件开发的规范和学术,对核心过程进行了审视----该过程采取了供需结合的工作方式和令人欣喜的可维护代码.本书包含的内容从个人责任和职业发展到保持代码的灵活性,使之易于改编和重用.
本书由各个相对独立的章节组成,其间不乏好玩的轶事,详细的实例和有趣的对话,描述了软件开发各个方面的最好实践和主要缺陷.无论你是一个新入门的编码者,一个有经验的程序员,还是负责软件项目的经理,通过每日学习这些课程,都会在个人生产力,准确率和工作满意度上有快速的增长.你所学到的技巧和开发习惯和态度将为你在职业生涯中取得长期成功奠定基础.你将成为又一Pragmatic Programmer.
----------------------------------------------------------------
34.The Art of UNIX programming
Author: Eric S. Raymond
Publisher: Addison Wesley
Published: October 2, 2003
Amazon Reviews: Amazon.com
Book Info: 荣获美国Software Development Productivity Award大奖作品!
本书是作者封笔30年后历时5年创作而成,是一部难得的软件工程方面的佳作 作者首次将哲学,设计模式,工具,文化和传统结合在一起,使得UNIX成为世界上最好且最具创新意义的软件,并展示了如何将其拓展到Linux和当今的开源(open-source)运动中:通过取自最主要的开源项目中的示例,作者向UNIX和Linux编程人员展示了如何更巧妙地创建软件,使其更雅致,更灵巧,更具可重用性且具有更长的生命期
本书主要介绍了Unix系统领域中的设计和开发哲学,思想文化体系,原则与经验,由公认的Unix编程大师,开源运动领袖人物之一Eric S.Raymond倾力多年写作而成.包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容.本书内容涉及社群文化,软件开发设计与实现,覆盖面广,内容深邃,完全展现了作者极其深厚的经验积累和领域智慧.
----------------------------------------------------------------
35.Peopleware:Productive Projects and Teams
Author: Tom DeMarco, Timothy Lister
Publisher: Dorset House Publishing Co
Published: February 28, 1999
Amazon Reviews: Amazon.com
Book Info: Tom Demarco 和Tim Lister 的"Peopleware:Productive Projects and Teams"第一版于1987 年出版,专门讨论了软件开发和维护的团队管理问题,向传统的管理方法提出了挑战,推崇人本管理思想,给予软件工人自由和信任.和<<人月神话>>一样,该书现在已经成为软件团队管理的经典之作.1995 年,Larry Constantine 出版了一部题为"Constantine 论人件"的论文集,扩大了"人件"概念,把那些使用软件的人也包括进来.1999 年2 月,<<人件>>第二版出版,增补了8 章新内容.这些增补的内容视角更加宽广,对比较大型的组织中的团队如何运作进行了探索.
----------------------------------------------------------------
36.Computer graphics C Version 2nd ed
Author: Donald Heam, M.Pauline Baker
Publisher: Pearson US Imports & PHIPEs
Published: May 24, 1996
Amazon Reviews: Amazon.com
Book Info: 这是计算机图形学领域的一部经典之作,作者Foley,van Dam等是国际图形学界的著名学者,学术带头人,而且本书英文版自出版以来,一直是各国大学计算机图形学课程的主要教科书.本书是高等院校计算机专业本科生,研究生计算机图形学课程的理想教材,是相关领域专业人员开展研究工作的优秀参考书.
----------------------------------------------------------------
37.Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization
Author: Andre LaMothe
Amazon Reviews: Amazon.com
Book Info: 本书是著名游戏程序设计类书籍作者Andre LaMothe的畅销书.在书中随处可见许多有趣但又有一定难度的源程序.作者循循善诱地从程序设计的角度介绍了在Windows环境下进行游戏开发所需的全部知识,包括Win32编程以及DirectX中所有主要组件(包括DirectDraw,DirectSound,DirectInput和DirectMusic).书中还用单独的章节详细讲授了2D图形学和光栅化技术,游戏算法,多线程编程,文本游戏和解析,人工智能(包括模糊逻辑,神经网络和遗传算法),物理建模(完全碰撞反应,动量传递和正反向运动学)及实时模拟等游戏程序开发中的关键技术.