1、推荐给程序员的经典电子书1.Java 2 核心技术l 推荐理由本书是 Java 技术经典参考书,多年畅销不衰,第 7 版在保留以前版本风格的基础上,涵盖Java2 开发平台标准版 J2SE5.0 的基础知识,主要内容包括面各对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用 Swing UI 工具箱进行图形用户界面设计,异常处理、流输入/输出和对象序列化、泛型程序设计等。l 九度链接http:/ 编程语言l 推荐理由这是一本众多 Java Fans 千呼万唤才出来的好书,本书由“Java 之父” 以及另外两名顶级大师(Jini 技术的创建者和著名开发大师)亲自撰写,无论是对 Java
2、 语言的初学者还是资深使用者都具有极高的价值。至少有 100000 名使用 C、C+ 、Smalltalk 或者其他高级语言的开发人员通过阅读本书对 Java 语言有了准确、明智和深刻的认识。l 九度链接http:/ Javal 推荐理由Effective Java 中文版:你正在寻找一本间明扼要地阐述 Java 精髓的书吗?你希望深入地理解 Java 程序设计语言吗?你希望编写出清晰、正确、健壮和可重用的代码吗?不用再找了,你手上这本书将会使你实现这些愿望,而且还能提供其他许多你意想不到的好处。l 九度链接http:/ 解惑l 推荐理由本书特写了 95 个有关 Java 或其类库的陷阱和缺陷
3、的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。本书趣味十足、寓教于乐,适合于具备 Java 知识的学习者和有编程经验的 Java 程序员。l 九度链接http:/ 编程思想l 推荐理由本书的作者拥有多年教学经验,对 C、C+以及 Java 语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共 22 章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深
4、入研究、Java I/O 系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了 Java 语言基础语法以及高级特性,适合各个层次的 Java 程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及 Java 语言的绝佳教材和参考书。l 九度链接http:/ 篇1.C 程序设计语言 l 推荐理由C 程序设计语言(第 2 版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的 C 语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。C 程序设计语言(第 2 版新版)原著即为 C 语言的设计者之一 Dennis M.Ritch
5、ie 和著名的计算机科学家 Brian W.Kernighan 合著的一本介绍 C 语言的权威经典著作。我们现在见到的大量论述 C 语言程序设计的教材和专著均以此书为蓝本。原著第 1 版中介绍的 C 语言成为后来广泛使用的 C 语言版本 标准 C 的基础。人们熟知的 “hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。l 九度链接http:/ 和指针l 推荐理由本书提供与 C 语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共 18 章,覆盖了数据、语句、操作符和
6、表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的 C 编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。本书适合 C 语言初学者和初级 C 程序员阅读,也可作为计算机专业学生学习 C 语言的参考。l 九度链接http:/ 陷阱与缺陷 l 推荐理由作者以自己 1985 年在 Bell 实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对 C 程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判 C 语言,而是要帮助 C 程序员绕过编程过程中的陷阱和障碍。作者以自己 1985 年在 Bell 实验室时发表的一篇论文为基础,
7、结合自己的工作经验扩展成为这本对 C 程序员具有珍贵价值的经典著作。l 九度链接http:/ 专家编程 l 推荐理由C 专家编程,原著Expert C Programming撷取了几十个实例,细致、深入地讲解了 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及分析了如何进一步学习 C+等问题。这是一本 ANSIC 编程语言的高级读本。它适用于已经编写过 C 程序的人,以及那些想迅速获取一些专家观点和技巧的人。专家级的 C 编程指南展示优秀 C 程序员的编程技巧。即使你读过 AndyKoneig 的C 陷阱与缺陷,你还是应该看看 PeterVanDerLinden 的书。我想,他们
8、两人的书称都应该千方百计的搞到,如获至宝地捧读。l 九度链接http:/ 495 个 C 语言问题l 推荐理由C 是一门简洁精妙的语言,掌握基本语法容易,真正能够自如运用,就不那么简单了。你难免会遇到各种各样的问题,有些可能让你百思不得其解,甚至翻遍图书馆,也找不到问题的答案。本书的出版,填补了这一空白。书中内容是世界各地的 C 语言用户多年来在新闻组 comp.lang.c 中讨论的结晶。l 九度链接http:/ Primerl 推荐理由本书是久负盛名的 C+经典教程,其内容是 C+大师 Stanley B. Lippman 丰富的实践经验和 C+标准委员会原负责人 Jose Lajoie
9、对 C+标准深入理解的完美结合,已经帮助全球无数程序员学会了 C+。对 C+基本概念和技术全面而且权威的阐述,对现代 C+编程风格的强调,使本书成为 C+初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。本书所有作者都是著名的 C+权威人物。l 九度链接http:/ l 推荐理由体味 C+语言的精妙与魅力享受与大师的心灵对话C+程序设计语言介绍了标准 C+以及由 C+所支持的关键性编程技术和设计技术。标准 C+较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。这本书围绕语言及库功能来组织,内容涉及 C+的主要特征及标准库,
10、并通过系统软件领域中的实例解释说明一些关键性的概念与技术。l 九度链接http:/ C+l 推荐理由Effective C+是世界顶级 C+大师 Scott Meyers 的成名之作,初版于 1991 年。在国际上,这本书所引起的反响之大,波及整个计算机技术出版领域,余音至今未绝。几乎在所有 C+书籍的推荐名单上,这部专著都会位于前三名。作者高超的技术把握力,独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。书中的 50 条准则,每一条都扼要说明了一个可让你写出更好的 C+ 程序代码的方法,并以特别设计过的例子详加讨论。在此第二版中,Meyers 重新检验了每一准则,
11、特别注意兼容于 C+标准规格与现行编译器技术,并融入软件界对 C+运用的最新观察结果。l 九度链接http:/ Effective C+l 推荐理由继Effective C+之後,Scott Meyers 於 1996 推出这本续集。条款变得比较少,页数倒是多了一些,原因是这次选材比第一集更高阶,尤其是第五章。Meyers 将此章命名为技术(Techniques),并明白告诉你,其中都是一些 patterns,例如 virtual ctors、 smart pointers、reference counting、proxy classes,double dispatching 等等。这一章的每
12、个条款篇幅都在 1530 页之谱,实在让人有 山穷水尽疑无路,柳暗花明又一村之叹。虽然出版年代稍嫌久远,本书并没有第二版,原因是当其出版之时(1996),C+ Standard 已经几乎定案,本书即依当时的标准草案而写。其间与现今之 C+ 标准规格几乎相同。可能变化的几个弹性之处,Meyers 也都有所说明与提示。l 九度链接http:/ :自修教程与参考手册l 推荐理由这本包含最新资料的完整书籍,反映出被 ANSI/ISO C+语言标准规格书纳入的 C+标准程序库的最新组成。更明确地说,这本书将焦点放在标准模板库身上,检验其中的容器、迭代器、仿函数和算法。读者还可以找到特殊容、字串、数值类别
13、、国际化议题、IOStream。每一个元素都有深刻的呈现,包括其介绍、设计、运用实例、细部解说、陷阱、意想不到的危险,以及相关类别和函数的精确樯记式和定义式。l 九度链接http:/ Templatesl 推荐理由本书是 C+模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例 3 方面的有用资料,为读者打下 C+模板知识的坚实基础。l 九度链接http:/ l 推荐理由职业 C+程序员必备常识,初学者登堂入室的阶梯,C+界 20 年经验结晶。本书作者资深 C+专家 Stephen C.Dewhurst 从业界多年来积累的宝贵经验中萃取了 C+开发所应必备但常常被误解的知识,并在阐述时过滤
14、掉了不必要的复杂性。你从何时(或者哪里) 开始学习 C+并不重要,但在迈出下一步之前,使用本书作为指南,可以确保轻松上路 !l 九度链接http:/ C+l 推荐理由书中以 4 个面向来表现 C+的本质:procedural (程序性的)、 generic(泛型的)、object-based(个别对象的)、object-oriented(面向对象的),全书围绕着一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性。循此方式,读者不只学到 C+的函数和结构,也会学习到它们的设计目的和基本原理。l 九度链接http:/ Exceptional C+l 推荐理由More Exceptional
15、C+是 Exceptional C+的续篇。根据多年程序开发的实践经验、 Herb Sutter 向 C+程序员提供了久经考验的程序设计技术和行之有效的解决方案,这些技术和方案对设计从小型工程到企业级应用的现代软件系统大有裨益。围绕着 40 个编程难题, More Exceptional C+引导读者深刻理解成功的 C+软件设计和开发中至关重要的原则和议题。书中包括一些新的主题,强化了泛型程序设计、内存管理、C+标准库的使用等内容,并涵盖了 traits 和 predicates 这样的重要技术;还就使用标准容器和算法时应该牢记的准则和要点进行了分析 其它资料很少深入涉及这一主题。l 九度链接
16、http:/ 编程思想 l 推荐理由这本书是 C+领域的一本权威著作,书中的内容、讲授方法、选用例子和跟随练习既适合课堂教学,又适合读者自学。l 九度链接http:/ 沉思录 l 推荐理由C+沉思录适合有一定经验的 C+程序员阅读学习,可以帮助读者加强提高技术能力,成为 C+程序设计的高手。Koenig 和 MOO 的C+沉思录将会为许多人提供有用的帮助。对于 C+是什么样的以及能够做些什么,他们的先见之明在这本书里随处可见。l 九度链接http:/ C+l 推荐理由本书系统介绍 C+程序设计,是美国斯坦福大学的经典教材。从使用 C+标准库中的高级抽象开始,使读者很快掌握编程方法。每一章都有很
17、经典独特的例子以及非常到位的讲解,覆盖了 C+非常多的内容,从标准库容器、泛型算法的使用,到类的设计、泛型算法的设计,本书都进行了详细的讲解。本书作者有丰富的 C+开发、研究和教学经验,内容由浅入深,讲解精炼巧妙。无论是刚入门的新手还是有经验的开发人员都能从本书中受益。l 九度链接http:/ 编程规范: 101 条规则、准则与最佳实践l 推荐理由良好的编程规范可以改善软件质量,缩短上市时间,提升团队效率,简化维护工作。在本书中,两位全世界最受尊敬的 C+专家将全球 C+社区的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位 C+程序员应该遵
18、循的行事准则。本书涵盖了 C+程序设计的每一个方面,包括设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、STL 容器和算法等。书中对每一条规范都给出了言简意赅的叙述,并辅以实例说明;另外还给出了从类型定义到错误处理等方面的大量 C+最佳实践,包括许多最新总结和标准化的技术,即使使用 C+多年的程序员也会从中受益匪浅。l 九度链接http:/ 完全参考手册 l 推荐理由本书作者 Herbert Schildt 是程序设计语言的大师,其著作涉及 C、C+、Java 和 C#等语言。本书以一种清晰而易懂的方式,全面介绍了 C+语言的各个方面,如关键字
19、、语法、函数、类和库,以及一些 C+高级特性,如重载、继承、虚拟函数、命名空间、模板、 RTTI(运行时类型信息),以及 STL(标准模板库)等。读者不仅可以从本书中学习到程序设计所需的语言知识,而且还可以了解如何进行程序设计。l 九度链接http:/ STLl 推荐理由你已经熟悉 STL 了。你知道怎样创建容器、怎样遍历容器中的内容,知道怎样添加和删除元素,以及如何使用常见的算法,比如 find 和 sort。但是你并不满意。你总是感到自己还不能充分地利用 STL。本该很简单的任务却并不简单;本该很直接的操作却要么泄漏资源,要么结果不对;本该更有效的过程却需要更多的时间或内存,超出了你的预期
20、。是的,你已经知道如何使用 STL 了,但是你并不能确定自己是否在有效地使用它。l 九度链接http:/ 源码剖析l 推荐理由学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。这本书所呈现的源码,使读者看到 vector 的实现、list 的实现、heap 的实现、deque 的实现、Red Black tree 的实现、hash table 的实现、set/map 的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;甚至还能够看到底层的 memory pook和高阶抽象的
21、 traits 机制的实现。l 九度链接http:/ 推荐理由这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的 NP 完全性的证明等内容。全书提供了 900 多个练习题和思考题以及叙述较为详细的实例研究
22、。l 九度链接http:/ C 语言描述l 推荐理由现在的程序员总是用着别人封装好的函数、类、库、API,满满的,我们就会觉得编程不过是这么回事,搭积木而已,别人都把材料提供好了,至于材料是怎么做的,不用理会。 真的是这样吗?说数据结构和算法没用的人,那是因为他用不到。为什么用不到?他的层次决定了他不会接触到编程最关键最核心的部分 算法。先不说那些反应算法的力量的似乎变态的问题,也不说 2006 年第 4 期程序员的专题,只说,当我们遇到一个问题时,如何搭建数学模型?当我们在有限的硬件条件下要完成高速的数据处理,如何设计?当我们为客户开发完一套软件后,能不能保证未来几年内数据猛增不会带来计算量
23、的指数级增长?当我们需要升级服务器内存和硬盘是,能不能修改几个函数就避免硬件的投资?这些问题的答案,请在这本书中寻找。l 九度链接http:/ l 推荐理由任何人发现书上的错误,都可以向 Donald E. Knuth 举发,并领取$2.56 美金,因为“256美分刚好是十六进制的一美元”(256 pennies is one hexadecimal dollar.)。比尔盖茨在 1995 年说,“如果你认为你是一名真正优秀的程序员,就去读第一卷,确定可以解决其中所有的问题。”“如果你能读懂整套书的话,请给我发一份你的简历。 ”计算机程序设计艺术是 Knuth 一生中最重要的事业,他写这本书的
24、目的是“组织和总结所知道的计算机方法的相关知识,并打下坚实的数学、历史基础”。l 九度链接http:/ 算法(第一卷) :基础、数据结构、排序和搜索l 推荐理由C 算法(第 1 卷):基础、数据结构、排序和摸索分 4 部分、共 16 章。第一部分“ 基础知识” (第 12 章)介绍了基本算法分析原理。第二部分 “数据结构”(第 35 章)讲解算法分析中必须掌握的数据结构知识。主要包括基本数据结构、抽象数据结构、递归和树。第三部分“排序”(第 611 章)按章节顺序分别讨论了基本排序方法(如选择排序、插入排序、冒泡排序、希尔排序等)、快速排序方法,归并和归并排序方法、优先队列与堆排序方法、基数排
25、序方法以及特殊目的排序方法,并比较了各种排序方法的性能特征。第四部分“ 搜索”(第 1216 章)在进一步讲解符号表、树等抽象数据类型的基础上,重点讨论哈希方法、基数搜索以及外部搜索方法。l 九度链接http:/ 算法(第二卷):图算法l 推荐理由C 算法(第 2 卷) :图算法所讨论的图算法,都是实际中解决图问题的最重要的已知方法。这本书的主要宗旨是让越来越多需要了解这些算法的人的能够掌握这些方法及基本原理。书中根据基本原理从基本住处开始循序渐进地讲解,然后再介绍一些经典方法,最后介绍仍在进行研究和发展的现代技术。精心挑选的实例、详尽的图示以及完整的实现代码与正文中的算法和应用描述相辅相成。
26、l 九度链接http:/ l 推荐理由计算机解题的核心是算法设计。算法设计涉及许多先修的基础知识,包括数据结构、高级语言程序设计、离散数学、图论、组合数学、人工智能、计算几何等。当然还包括除数学与信息学之外的其他学科知识,因为没有这些知识,往往连题目都会看不懂,这可能也是要求参加 ACM 大赛的选手应该具备全面科学素养的原因之一。刘汝佳、黄亮两位作者都曾在高中时参加过信息学奥林匹克竞赛活动,他们在如何用计算机解难题方面投入过很大精力,有着比较丰富的经验。l 九度链接http:/ l 推荐理由这本书以算法设计策略为知识单元系统地介绍计算机算法的设计方法和分析技巧。其主要内容包括:算法及算法复杂性基本概念,算法描述,有效算法最常用的设计策略 递归和分治法,动态规划法的设计要点与适用性,贪心算法,回溯法和分支限界法,许多难解问题的高效算法 概率算法,以及 NP 完全理论和 NP 难问题的近似解法。书中既涉及传统算法的实例分析,更有算法领域热点研究课题追踪,具有很高的实用价值。l 九度链接http:/