1.The Art of Computer Programmin Author: Donald.E.Knuth Book Info: 这部书被誉为20世纪最重要的20部著作之一,与Einstein的"相对论"并 列,是计算机科学领域的权威著作.全书共分7卷,目前已经出版了3卷,被誉为"计算机程序设 计理论的荷马史诗","可与牛顿的<<自然科学的数学原理>>媲美的巨著".作者数学方面的功 底造就了本书严谨的风格,虽然本书不是用当今流行的程序设计语言描述的,但这丝毫不损 伤它"程序设计史诗"的地位.道理很简单,它内涵的设计思想是永远不会过时的.The Art of Computer Programming 原计划要出七册,但目前只完成了三册.该书有日文,俄文,西班牙 文等许多国的版本.其中,中文版由国防大学出版社发行.无数的读者都在谈论Knuth的书所 带来的深远影响.科学家惊叹于分析逻辑之透彻严谨,而普通的编程人员也已成功地将书中 所列方案运用到他们的日常问题中.所有的人都非常赞赏Knuth在这套书中所表现的精确与 风趣,并为其明确性与涉及面之广而感到欣喜. 我无法向你表达这套书在学习和创造性方面所带给我的兴奋与激动,我已经将它们带 入了我的生活,就像我的汽车,饭馆,工作,家庭……无所不在 ----Charles Long 无论你的背景怎样,如果你正在进行复杂的计算机编程,你就应该阅读本套书中的每本 书,来补充你的专业知识.当一个问题难以解决,而必须使用Knuth的这套书来解决时,总是 一件令人愉快的事情.我发现在计算机方面使用它们会有惊人的效果. ----Jonathan Laventhol 如果你认为你是一名真正优秀的程序员……读Knuth的<<计算机程序设计艺术>>,如果 你能读懂整套书的话,请给我发一份你的简历. ----Bill Gates
The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) Book Info: 卷1为基础运算法则,该书以基本的编程概念和技术为开始,然后讲述信息结构 --计算机内信息的表示法,数据元素间的结构关系以及处理它们的有效方法.主要应用于模 拟,数字方法,符号计算,软件和系统设计.许多简单和重要的运算法则和技术已添加到前一 版本中,精确的初步计算部分已经修改,以适应当前趋势.
The Art of Computer Programming, Volume 2: Seminumerical Algorithms(3rd Edition) Book Info: 第2卷对半数值算法领域做了全面介绍,分"随机数"和"算术"两章.本卷总结了 主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系 .第3版中特别值得注意的是Knuth对随机数生成程序的重新处理和对形式幂级数计算的讨论 .
The Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) Book Info: 卷3为分拣和搜索,这是本书的第1个修订版,它是对计算机分拣和搜索的一流 技术的最全面的研究,它扩展了卷1中数据结构的处理方法,将大小数据库以及内存和外部 存储都包含在内.本书包括对计算机方法仔细检查的选择方案,和其效率的大量分析.本书 该版的独特之处在于优化了的分拣,以及对通用散列法和排列法的新的理论论述.
作者简介: Donald.E.Knuth(唐纳德.E.克努特,中文名高德纳)是算法和程序设计技术的先 驱者,是计算机排版系统TeX和METAFONT的发明者,他因这些成就和大量创造性的影响深远的 著作(19部书和160篇论文)而誉满全球,在计算机科学领域享有崇高的威望,是计算机科学界 公认的大宗师.作为斯坦福大学计算机程序设计艺术的荣誉退休教授,他当前正全神贯注于 完成其关于计算机科学的史诗性的七卷集.这一伟大工程在1962年他还是加利福尼亚理工学 院的研究生时就开始了.Knuth教授获得了许多奖项和荣誉,包括美国计算机协会图灵奖(AC M Turing Award),美国前总统卡特授予的科学金奖(Medal of Science),美国数学学会斯蒂 尔奖(AMS Steele Prize),以及1996年11月由于发明先进技术荣获的极受尊重的京都奖(Ky otoPrize).现与其妻Jill生活于斯坦福校园内.Donald.E.Knuth人生最辉煌的时刻在斯坦福 大学计算机系渡过,获得了美国计算机协会图灵奖,成为本领域内当之无愧的泰斗。
10.C++ Gotchas: Avoiding Common Problems in Coding and Design Author: Stephen C.Dewhurst
Book Info: Stephen的理论素养和实践经验注定这是一本值得一读的好书.Stephen曾经是 贝尔实验室中第一批C++使用者.他已经使用C++成功解决了包括编译器,证券交易,电子商务 以及嵌入式系统等领域中的问题.本书汇集了作者来自开发一线的99条编程真知灼见,洞悉 它们,你可以避免几乎所有常见的C++设计和编程问题.我甚至认为,对于C++编程菜鸟而言, 阅读这本书会比阅读Scott和Herb的书更能轻松而立竿见影地获得更大的提高.我个人很喜 欢这本书的写作风格----Stephen的许多观点看似极端却无可辩驳.当然了,这种自信(以及 冷幽默)来自于作者深厚的技术素养,而非自大的偏执.
11.C++ Primer 3rd Author: Stanley B.Lippman
Book Info: 这本书的名字多少有点让人误解. 尽管作者声称这本书是为C++新手而写,但无论是它的厚度还是讲解的深度都暴露 了似乎并非如此.也许说它是一本"从入门到精通"的C++教程会更合适一些.我个人认为它并 不适合完全不懂C++的初学者----在阅读这本书之前,你至少应该先有那么一点C或C++的背 景知识,或者至少要具有一些其他语言的编程经验. 尽管这本书省略了一些高级C++特性的讨论,但仍然可以称得上是迄今为止最全面的C++学习 教程.事实上,如果一名C++初学者能够扎扎实实地读完本书并对照"C++ Primer Answer Bo ok"完成全部习题的话,他的水平肯定可以进入职业C++程序员的行列.我个人认为,即使你已 经拥有了TCPL,这本书依然有拥有的价值,因为在许多方面它比TCPL来得更详细,更易懂.
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
14.Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions< More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions> Author: Herb Sutter
16.C++ Templates: The Complete Guide Author: David Vandevoorde, Nicolai M.Josuttis Book Info: 有一种老套的赞美一本书的手法, 大致是"没有看过这本书,你就怎么怎么地",这里面往往夸张的成分居多.不过,倘 若说"没有看过"C++ Templates: The Complete Guide",你就不可能精通C++模板编程",那 么这个论断对于世界上绝大多数C++程序员来说是成立的.这本书填补了C++模板书籍领域由 来已久的空白.此前,上有"Modern C++ Design"这样的专注于模板高级编程技术和泛型模式 的著作,下有"The C++ Standard Library"这样的针对特定模板框架和组件的使用指南.然 而,假如对模板机制缺乏深入的理解,你就很难"上下"自如.鉴于此,我向每一位渴望透彻理 解C++模板技术的朋友推荐这本书.
17.The C++ Standard Library: A Tutorial and Reference Author: Nicolai M. Josuttis
Book Info: 这是一本百科全书式的C++标准库著作,是一本需要一再查阅的参考大全.它在 完备性,细致性以及精确性方面都是无与伦比的.本书详细介绍了每一标准库组件的规格和 用法,内容涵盖包括流和本地化在内的整个标准库而不仅仅是STL.正如本书副标题所示,它 首先适合作为教程阅读,尔后又可用作参考手册.浅显易懂的写作风格使得这本书非常易读 .如果你希望学习标准库的用法并尽可能地发挥其潜能,那你必须拥有这本书.正如网络上所 言,这本书不仅仅应该摆在你的书橱中,更应该放到你的电脑桌上.我向每一位职业C++程序 员强烈推荐.
18.Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) Author: Scott Meyers
Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template L ibrary Author: Scott Meyers
19.Thinking in C++, Volume 1: Introduction to Standard C++ (2nd Edition) Author: Bruce Eckel
Book Info: "Thinking in C++"的第1版于1996年荣获"软件研发"杂志评选的图书震撼大奖 .最新推出的第2版对内容进行了大幅改写和调整,以反映C++标准化带来的影响以及近几年 面向对象领域最新研究和实践成果."输入输入流","多重继承","异常处理"和"运行时类型 识别"等高级主题连同C++标准化以后增加的一些内容则被放入第二卷中.Bruce是一名经验 丰富的C++讲师和顾问,其培训和写作经验都是世界一流水准,他的作品比那些"玩票"的技术 人员写的东西更能吸引读者.事实上,在同类图书中,对于大多数读者而言,这本书的可读性 要超过TCPL和"C++ Primer"
Thinking in C++, Volume 2: Practical Programming (Second Edition) Author: Bruce Eckel
20.Ruminations on C++: A Decade of Programming Insight and Experience Author: Andrew Koenig, Barbara E. Moo, Barbara E. (Editor) Moo
Book Info: Andrew是世界上屈指可数的C++专家.这是一本关于C++编程思想和程 序设计技术而非语言细节的著作.如果你已经具有一定的基础,这本书将教你在进行C++编程 时应该怎样思考,应该如何表达解决方案.整本书技术表达透彻,文字通俗易懂.Bjarne这样 评价这本书:本书遍布"C++是什么,C++能够做什么"的真知灼见.
21.Design Patterns: Elements of Reusable Object-Oriented software Author: Erich Gamma
Book Info: 设计可复用的面向对象的软件,你需要掌握设计模式.本书并非专为C++程序员 而写,但它采用了C++(以及Smalltalk)作为主要示例语言,C++程序员尤其易于从中受益.四 位作者都是国际公认的面向对象软件领域专家,他们将面向对象软件的设计经验作为设计模 式详细记录下来.这本书影响是如此深远,以至于四位作者以及本书都被昵称为GoF(Gang o f Four).本书学院气息浓厚,行文风格严谨简洁,虽然它不如某些讲解模式的书籍易读,但真 正要精准地理解设计模式,本书是终极权威.学习设计模式,这本书需要一而再,再而三的咀 嚼.顺带一句:请将设计模式化作开拓思维的钥匙,切莫成为封闭思维的枷锁.
22.Efficient C++: Performance Programming Techniques Author: Dov Bulka, David Mayhew Book Info: 这本超薄小书聚焦于高性能C++应用程序开发. 两位作者都是IBM软件专家,都工作于对性能要求极高的系统构建领 域,本书是他们的经验之谈.也有人不喜欢这本书,因为它花了不少的篇幅讲述和C++无关的 东西,我却恰恰因为这一点而对这本书产生好感,正是这些东西让我开阔了眼界.
23.Inside the C++ Object Model Author: Stanley B.Lippman Book Info: 从编译器的角度观察C++可以使你知其然并 知其所以然.本书探讨了大量的C++面向对象程序设计的底层运作机制,包括构造函数,函数 ,临时对象,继承,虚拟,模板的实例化,异常处理,运行期类型识别等,另外还介绍了一些在实 现C++对象模型过程中做出的权衡折衷.喜欢刨根问底的C++程序员可以从中了解了无数的编 译器解释源代码的细节,以及记忆体分配的细节..
24.The Art of Assembly Language Author: Randall Hyde
Book Info: MS-DOS 上的清晰工作!经过10年无数次竞争,"Running MS-DOS"仍是被其它 M S-DOS 奉为标准的书.Van Wolverton 的实际的写作风格,上百张屏幕演示,使得"Running MS-DOS"成为任何时候的DOS指南畅销书.再没有哪个计算机书从读者和评论家那里获得过这 么多的赞扬.这本新的,10 周年纪念版本,包括关于 MS-DOS 6.2 最新版本的重要的信息.如 果您仅仅只是买了一台 PC 机,或者只是升级到了一个新版本”Running MS-DOS"应当成为 您的第一个信息源."Running MS-DOS"实际上是由3本书合成的,包括:MS-DOS 介绍,以及如 何同您的计算机硬件相协调; 一个关于了解和使用 MS-DOS 的完整制导; 一个命令手册,里面有定义,例子和表格,帮您快速寻找信息!
31.Advanced Programming in the UNIX Environment Author: Richard W.Stevens, Stephen A.Rago
Book Info: 与大多数其他操作系统类似, Unix对运行其上的程序提供了大量服务,此外,本书与其他Unix编程书籍不同的是,本 书除了讲述Unix系统的编程接口----即系统调用接口和由标准C函数库提供的大量函数之外 ,还通过许多例子和基本原理对Unix编程环境做了更深入的解释和剖析,如怎样创建数据库 ,页面描述语言的打印机驱动程序,现代拨号程序以及代理进程,处理机间通信,伪终端程序 等.本书作者是Unix研究领域的专家,而本书更被誉为是该领域的圣经宝典,相信每一位读者 都会在学习本书的过程中体会到它的价值所在.
32.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
39.The Art of UNIX programming Author: Eric S. Raymond Book Info: 荣获美国Software Development Productivity Award大奖作品! 本书是作者封笔30年后历时5年创作而成,是一部难得的软件工程方面的佳作.作者首次将哲 学,设计模式,工具,文化和传统结合在一起,使得UNIX成为世界上最好且最具创新意义的软 件,并展示了如何将其拓展到Linux和当今的开源(open-source)运动中:通过取自最主要的 开源项目中的示例,作者向UNIX和Linux编程人员展示了如何更巧妙地创建软件,使其更雅致 ,更灵巧,更具可重用性且具有更长的生命期 本书主要介绍了Unix系统领域中的设计和开发哲学,思想文化体系,原则与经验,由公认的U nix编程大师,开源运动领袖人物之一Eric S.Raymond倾力多年写作而成.包括Unix设计者在 内的多位领域专家也为本书贡献了宝贵的内容.本书内容涉及社群文化,软件开发设计与实 现,覆盖面广,内容深邃,完全展现了作者极其深厚的经验积累和领域智慧.
40.Peopleware roductive Projects and Teams Author: Tom DeMarco, Timothy Lister
Book Info: Tom Demarco 和Tim Lister 的"Peopleware productive Projects and Team s"第一版于1987 年出版,专门讨论了软件开发和维护的团队管理问题,向传统的管理方法提 出了挑战,推崇人本管理思想,给予软件工人自由和信任.和"人月神话"一样,该书现在已经 成为软件团队管理的经典之作.1995 年,Larry Constantine 出版了一部题为"Constantin e 论人件"的论文集,扩大了"人件"概念,把那些使用软件的人也包括进来.1999 年2 月,"人 件"第二版出版,增补了8 章新内容.这些增补的内容视角更加宽广,对比较大型的组织中的 团队如何运作进行了探索.
41.Computer graphics C Version 2nd ed Author: Donald Heam, M.Pauline Baker
Book Info: 这是计算机图形学领域的一部经典之作, 作者Foley,van Dam等是国际图形学界的著名学者,学术带头人,而且本书英文 版自出版以来,一直是各国大学计算机图形学课程的主要教科书.本书是高等院校计算机专 业本科生,研究生计算机图形学课程的理想教材,是相关领域专业人员开展研究工作的优秀 参考书.
42.Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization Author: Andre LaMothe
Book Info: 本书是著名游戏程序设计类书籍作者Andre LaMothe的畅销书.在书中随处可见 许多有趣但又有一定难度的源程序.作者循循善诱地从程序设计的角度介绍了在Windows环 境下进行游戏开发所需的全部知识,包括Win32编程以及DirectX中所有主要组件(包括Dire ctDraw,DirectSound,DirectInput和DirectMusic).书中还用单独的章节详细讲授了2D图形 学和光栅化技术,游戏算法,多线程编程,文本游戏和解析,人工智能(包括模糊逻辑,神经网 络和遗传算法),物理建模(完全碰撞反应,动量传递和正反向运动学)及实时模拟等游戏程序 开发中的关键技术.
43.Compilers Principles, Techniques, and Tools Author: Alfred V. Aho, Ravi Seth, Jeffrey D. Ullman
Book Info: 本书另外一个响亮的名字就是龙书. 原因是这本书的封面上有条红色的龙.里面讲解的核心编译原理至今都没有变过,所以一直 到今天,它的价值都非凡.这本书最大的特点就是一开始就通过一个实际的小例子,把编译原 理的大致内容罗列出来,让很多编译原理的初学者很快心里有了个底,也知道为什么会有这 些理论,怎么运用这些理论.而这一点是我感觉国内的教材缺乏的东西,所以国内的教材都不 是写给愿意自学的读者,总之让人看了半天,却不知道里面的东西有什么用.
44.Computer Systems A Programmer''s Perspective Author: Randal E. Bryant, David R. O''Hallaron