程序员必备经典书籍整理
算法类:
算法导论 http://book.douban.com/subject/1885170/
算法艺术与信息学竞赛 http://book.douban.com/subject/1154204/
这本书作为入门不太好..有点深了..最好还是作为入门之后的进阶书看比较好..
新编实用算法分析与程序设计 http://book.douban.com/subject/3070758/
大赞..非常好的入门书籍..强烈推荐所有想搞算法或者ACM的人来看..所有人都应该搞一本
程序设计中常用的解题策略 http://book.douban.com/subject/4076217/
这本书和上一本在一些地方重复了..毕竟都是同样的人编写的..不过仍然有一定参考价值..比如前面提及的各种思路
程序设计中常用的计算思维方式 http://book.douban.com/subject/3905078/
这本书的比较高端了..里面的思维方式都很巧妙..需要时刻体会
程序设计中的组合数学 http://book.douban.com/subject/1318836/
又是牛人写的..而且这个牛人还是大学生..汗颜啊..这本书很薄..但是内容很丰富..编程+组合非常好..入门看..
数学类:
具体数学 http://book.douban.com/subject/1231910/
大赞的数学书..强烈推荐..我买了英文版..可读性很强..一定要做习题..很多知识习题才有
组合数学 http://book.douban.com/subject/3651403/
第五版貌似没有中文..我准备在读完具体数学一遍之后开始搞这本书学习..非常好的组合数学书..
图论导引 http://book.douban.com/subject/1740461/
很好的系统性讲解图论的书..不过图论一般都很难..这个我就放在后面了..有时间再买再读..
计算几何 http://book.douban.com/subject/3151802/
这是我见过的最好的中文计算几何的书了..当然肯定有更好的英文书..但是对于非数学专业来说..这本书足以了..作者也是强人..算法类也有他的作品..
底层:
Unix操作系统设计 http://book.douban.com/subject/1879258/
我读过的最精辟最赞的操作系统设计的书了..很多我平时没搞清楚的问题..甚至一些UnixAPI的问题都直接迎刃而解了..虽然旧了一点..但精神没变
莱昂式Unix源代码分析 http://book.douban.com/subject/1231822/
这个正在啃..不过貌似有本书叫做<<返璞归真–Unix操作系统设计>>的中国人写的也是这个源代码分析..那本书更加详细..这本书更需要思考..
程序员的自我修养 http://book.douban.com/subject/3652388/
牛人学长们的书..对于底层讲解的非常好..包括程序的生老病死..还有哪个底层的C库也很赞..
C++对象模型 http://book.douban.com/subject/1091086/
看过这本书才叫学过C++..不过没有分到C++类..因为介绍的都是底层的实现机制以及带来的C++特性..缺点是没有包括模板..这个在C++类有很多..大赞的书啊~~
深入Java虚拟机 http://book.douban.com/subject/1138768/
貌似没有第二本介绍JVM的书了..虽然版本旧了一点..但是整体设计上的思路差不离..看的我茅塞顿开..
深入理解计算机系统 http://book.douban.com/subject/5333562/
有了最新的第二版了..个人觉得对于硬件的了解..只用看两本书..一本是最权威的Intel开发手册..如果要做系统设计基本要看..一本就是这本..如果你只是普通的软件设计只用看这本足以了.
网络:
TCP/IP详解(三卷本) http://book.douban.com/subject/1088054/
还需要介绍么?最棒的TCP/IP书籍..没有之一..卷一要精读..基本的TCP/IP就通了..卷二选读..除非你就是要搞网络协议开发之类的工作..卷三没读过..不评价
Unix网络编程(两卷本) http://book.douban.com/subject/4859464/
还需要介绍么?最棒的网络编程书籍..没有之一..上面是让你了解协议的内容和实现..这本是利用系统的API进行编程..二者相辅相成
数据库:
数据库系统实现 http://book.douban.com/subject/1086496/
还没看..不过这是我找到的唯一的数据库实现的书..看评价应该很不错..
编译原理:
编译原理:技术与工具 http://book.douban.com/subject/2970069/
编译理论我就看过这本..龙书..基本上如果不搞编译器的话..读过这本基本就够了..毕竟我没有这个打算研究编译器..
LEMON语法分析生成器源代码情景分析 http://book.douban.com/subject/1954135/
中国人写的..分析LEMON的语法分析生成器..这种源代码级的分析非常赞..很不错的实践材料..最好在上一本理论的基础上配合着来看..
面向对象设计:
设计模式 http://book.douban.com/subject/2111801/
GoF的作品..不评价了..必看的.
重构 http://book.douban.com/subject/4262627/
虽然这些招数你看了觉得很平淡..但这本书存在的价值在于告诉你这些地方可以改进..而且需要改进..这点是我们平时很难看到的..只有不断的刺激才能形成反应
设计模式解析 http://book.douban.com/subject/1850191/
个人认为最好的设计模式入门书..很容易读懂..而且不厚..将设计模式的精髓展现了出来..入门必备
企业应用架构模式 http://book.douban.com/subject/4826290/
这个有的时候看不太懂..但是个人的粗线看法..流行的框架体系基本都可以从这里得到理论的支持..所以为了更好的掌握框架..这本书还是要看的..
C/C++:
C程序设计语言 http://book.douban.com/subject/1139336/
C专家编程 http://book.douban.com/subject/2377310/
C缺陷与陷阱 http://book.douban.com/subject/1102097/
上面3本书没看过3遍以上..请不要告我说你学过C..了解否?他们应该变成你的神经你的记忆..
Essential C++ http://book.douban.com/subject/1215826/
C++最佳入门书..没有之一..绝对的好书..如果想学C++..这本书的效果绝对最赞..
C++Primer http://book.douban.com/subject/1767741/
名为Primer..但一点都不Primer..主要是书太厚..试图覆盖的面太广..结果就是无法入门..也是作为参考的手册使用
C++程序设计语言 http://book.douban.com/subject/1099889/
权威参考资料..比C++标准更易读..但这个没必要下太大功夫..基本属于不会就来参考即可..
Effective C++系列 http://book.douban.com/subject/1231590/ http://book.douban.com/subject/1241385/
还需要介绍么?这系列书没看..请不要告我说你学过C++..了解否?
大规模C++程序设计 http://book.douban.com/subject/1127940/
这本书与其他书不同..但是里面的概念和想法是重要的..不过这只有在规模很大的时候会有显著的效果..但里面的思路和方法令人耳目一新..
C++多泛型设计 http://book.douban.com/subject/1246308/
多泛型的鼻祖书籍了..里面提到的概念可能你已经很熟悉了..但你可能没想到这些概念很多都是从这里来的..可变性分析是非常重要的一部分..
C++设计新思维 http://book.douban.com/subject/1119904/
你学过C++模板么?..额..很抱歉..你其实什么都不知道..这就是这本书..记住..他出版的时候.还没有那么多复杂的模板应用..学习其惊天动地的想法吧..少年..
C++ Templates http://book.douban.com/subject/1144020/
只要你学习模板..这本书请买回家..他不会教你一些技巧..但是他指导你模板编程..此书可以作为参考.但不同于一般的参考..你需要把他完整的读一遍之后再做参考..模板是复杂的..但基本上这本书把其理论讲完了
C++模板元编程 http://book.douban.com/subject/4136223/
利用模板编程..这本书可以说是上一本的应用..有了上一本的理论支持..这一本至少你能读懂..掌握嘛..不敢说..这需要时间和锻炼..同志..
C++网络编程 http://book.douban.com/subject/1165791/ http://book.douban.com/subject/1141548/
个人觉得这两本书是大赞的..有两点..一是熟悉网络..二是提供C++大型框架来学习..后者更为重要..我们实际上就是在学习ACE的整个框架结构..总结提高..这两本书貌似绝版了..一定要买~
Java:
Core Java http://book.douban.com/subject/2282055/ http://book.douban.com/subject/3111486/
个人感觉Java的极好入门书籍..这里没有推荐Thinking In Java..是因为个人觉得那本书其实不怎么样..不过各位也可以看看..还是推荐Core Java..貌似有第八版了..非常赞
Ant权威指南 http://book.douban.com/subject/1243881/
这本书远没有这里显示的重要..但是个人觉得学会利用脚本来做很不错的..虽然在Linux在我们可以直接shell..但是win下就不行了..可移植的方式还是Ant..这本书可以作为Ant入门
Python:
自带教程
恩..最好的入门教材就是Python自带的教程..非常简洁明了的告诉你Python的基本特性..入门赞~~
可爱的Python http://book.douban.com/subject/3884108/
非常好的进阶书籍..难度很小..但是可以让你从入门变成中阶..本来Python的目的就是让生活更容易..而此书就是告诉我们怎么个容易法..非常好..
Python源码剖析 http://book.douban.com/subject/3117898/
版本老了些..但是对于动态语言的实现机制还是非常赞的..当你熟悉了Python..开发了几个项目之后..强烈推荐此书..
Haskell:
Haskell函数程序设计艺术
这本书貌似没有出版?..反正我只看到了电子书..大赞的入门书..非常好..学习Haskell应该下一本来看..
Erlang:
Erlang程序设计 http://book.douban.com/subject/3260311/
Erlang的书不多..这本是极佳的入门..虽然我们平时用到Erlang可能很少..但是他的这种想法和思路还是值得一看的..没准下一个项目就会用上一下也说不定..
Windows程序设计:
Windows程序设计 http://book.douban.com/subject/5273955/
需要介绍么?Win32原生API编程..除了这本..基本没有其他的推荐了..看了这本..基本的软件编程是没有问题了..
Windows核心编程 http://book.douban.com/subject/3235659/
上面的那本书主要解决的是GUI的问题..这本书主要说的是核心的东西..进程/线程..内存/虚存..等等..这些是非常关键的..此书也是比较容易读的..
win32多线程程序设计 http://book.douban.com/subject/1231702/
对于线程理解不多的人可以读这本..JJHou的书一般都很容易读的..
Linux程序设计:
Unix环境高级编程 http://book.douban.com/subject/1788421/
不解释…就是这么强悍的书籍..没看过他不要说你在Unix下写程序..了解否?
鸟哥的Linux私房菜 http://book.douban.com/subject/4889838/ http://book.douban.com/subject/2338464/
我的Linux入门书籍..你说鸟哥怎么就能写的这么通俗易懂呢?
跟我一起写 Makefile http://blog.csdn.net/haoel/article/details/2886
这是大牛的博客..你可以下电子版看..太赞了..Linux下不会make还叫程序员么?看完这个..基本make就会了..
敏捷系列:
测试驱动开发 http://book.douban.com/subject/1230036/
真的是By Example..利用例子来讲解测试驱动..非常易懂..
代码整洁之道 http://book.douban.com/subject/3892588/
我很喜欢的书..虽然技术含量没有其他的高..但是强调的那种编程风格..我觉得是非常重要的..其中也有一点tips是非常重要的..随手看看即可
Pro Git http://book.douban.com/subject/3420144/
讲解Git的最好的书之一..从使用到其内部构造全都有讲解..
杂:
程序员修炼之道 http://book.douban.com/subject/1152111/
很多思考点..必买书籍之一..这些感悟和想法可能很简单..但是就是想不到..非常好的书..
编程珠玑 http://book.douban.com/subject/1230206/
灵活的思考..应该就是这样的吧..
代码大全 http://book.douban.com/subject/1477390/
大型的参考手册..不过和前面的某一本类似..先读完一遍..再做参考..
程序设计实践 http://book.douban.com/subject/6524000/
好吧..这个很简单..但是这些理念永不过时..你也可以看看Unix编程艺术..但这本更加精炼..这是大师的思考结晶..还等什么呢..
计算机程序的构造和解释 http://book.douban.com/subject/1148282/
这本书..两个字..必读..不解释..不读别说自己是程序员..
计算机程序设计艺术 http://book.douban.com/subject/1231933/
这系列书..参考吧..有时间再读..虽然是经典..但太厚了..先把前面的书掌握透了..再看这套书..我想..效果更好..