C++:
Prata《C++ Primer Plus》:基础,第一本书。(之前的版本也可,不过推荐最新的)
Lippman《Inside C++ Object Model》:初级,加深语言层次上的理解。不过有点小老了。里面的cfront编译器早退出江湖好久了。思想值得学习
侯捷《STL源码剖析》:第三本书,中级,深入STL
Vandevoorde《C++ Template》:第四本,中级,范式编程
罗剑锋《Boost》两本:中级,Boost库深入, 不过他写的浅了,boost方面没发现更好的书了, 一般自己看代码
Mayer《Effective C++》:中级,编码原则问题。要在C++用了一段时间之后再看
Martin《敏捷软件开发》:中级,OB的原则,极限编程
Alexandrescu《Modern C++》:高级,一些泛型上的顶级技术
Moo《C++沉思录》:高级,没到一定的分数不建议看
Schmidt《C++ Network Programming》:ACE老大写的系列, 网络编程方面如果决定用ACE了的话,这是必看的。
Press《Numerical Recipes in C++》:C++数值算法,高级,本科我们的教材, 不过那个时候学纯粹是胡闹。这本书,太帅了。读完这个, 你就抛弃matlab那么弱的工具吧, 用uBLAS等强悍的科学计算库你会发现C++ 能做的事确实比matlab多太多了, 这本书里的东西是所有科学计算库的基础。不过。。。。。还是有不过的,有的选的话,我宁肯用matlab。。。。嗨。。。。编码量少啊。。。。
还有 http://www.cplusplus.com/ 。这个网站要是你没上过的话,我怀疑你仲么写的程序。。。。。
当然,官方文档也应在列。不过说实话,我没看。不敢列上来害人。可读性应该不高。
还有,boost和Qt。搞熟这俩工具。大部分问题难不倒你啦。
C:
Lindon《C专家编程》:C相对C++很容易, 我看了这两本书就基本木有问题了。
Koening《C traps and pit fails》:
《GoF Design patterns》
《Pattern-Oriented software architecture vol.1 2. 3. 4. .......》
调试、逆向与系统周边:
张银奎《软件调试》:国内少见的大作,水平不是顶级, 但在国内算顶级了
钱林松《C++反汇编与逆向分析》:很不错的逆向工程书, 入门首选
俞甲子《程序员的自我修养——链接、装载与库》:这个真是C+ +/C程序员必看。讲dll、lib、堆、栈的原理, linux和windows对比分析
Aho《Compilers:Principles》: 传说中的编译原理,软院的会学,所以瞎子都知道重要性。
Tanenbaum《Distributed System Principles and Paradigms》:搞分布式的肯定看过啊。神人写的神书一本
人工智能:
Kurzweil《奇点临近》:我称之神书, 是我看过的我评价最高的一本技术书。 作者的技术高度已经到了世界顶级的顶级了, 加速回归理论谁能掌握谁就会发现世界好容易分析。
Mitchell《Machine Learning》:机器学习入门的好书,数学不太复杂, 也不厚,但一点不失水准
Kamber的《数据挖掘 概念与技术》:数据挖掘多少得懂点吧。这书写的一点也不复杂,很有条理。我就用这本书完成了一个数据挖掘的大项目。
冈萨雷斯《数字图像处理》:那个啥,别说C++用不到,程序员的语言只是工具,关键还是看你干嘛。我就不信你遇不到图像处理。。。。
Theodoridis《Pattern Recognition》:我觉得吧。快速切入人工这本书必不可少,也应该是第一本书。
史忠植《神经网络》:我觉得得记住这个人。我认可的中国最有水平的人工智能方面的大全级,国宝级专家(虽然和Kurzweil一比就不好意思了)
海金《神经网络与机器学习》:说实话,本不想把这本列上来。太难懂了。不过不能否认其重量级。建议看史忠植的。
Moesland《Visual Analysis of Humans :Looking at People》
算法:
Leiserson《Introduction to Algorithms》:传说中的算法导论,入门必看的。
Heineman《Algorithms in a nutshell》:也是入门级,不过是以应用的视角分类算法, 实际应用能力比导论好很多。
Knuth《The art of Computer Programming》:这才是殿堂级的著作, 可惜我只看了第一本,共7本。 不是专业搞算法的就别深入啃这7本了。。。会死人的。。。。
操作系统:
Andrew S. Tanenbaum 《Modern operating system》:引入了不少现代的概念和想法, 建议作为操作系统入门看的第二本书
Abraham Silberschats 《Operating System Concept》:操作系统方面的恐龙书,我个人觉的这是讲理论讲的最易懂而透彻的一本书
William Stallings 《Operating Systems Internals and Design Principles》:偏硬件, 涉及到算法的时候讲的非常详细。
《The Design and Implementation of the 4.4 BSD Operating System》
《The Design and Implementation of the FreeBSD Operating System》:可以作为进阶的书籍,对BSD经典的进行深入
Andrew S. Tanenbaum 《Modern operating system》:引入了不少现代的概念和想法, 建议作为操作系统入门看的第二本
书
《Unix Network Programming》:不多说废话了。
软件工程:
《人月神话》:听过的人很多,看过的人很少, 想了解软件工程的多少看一下吧。
《 Head First Object-Oriented Design and Analysis》:Head First面向对象设计不错的书,浅显易懂,图文并茂
《GoF Design patterns》
《Pattern-Oriented software architecture vol.1 2. 3. 4. .......》
Brooks《The design of design》:设计原本。不建议看太早,没几年编程经验, 没点深入技能,看了也白看。把软件设计通用化的神书。
Blaha《Object-Oriented Modelling and Design with UNL》:从UML视角讲解系统分析与设计。 比衣杨老师的那本书好上几千个档次。。。不过衣杨老师的课很好。
计算机网络:
《TCP/IP 详解》:不多说废话了
《Unix Network Programming》:不多说废话了。
数据库:
Korth《数据库系统概念》。我觉得,数据库这一本足够了。没意见吧?不过数据仓库的话,见数据挖掘那本。(人工智能项)
数学:
推荐隆重一个系列:GTM。我看过《Graph Theory》。。。。于是。。。。整个系列都在我的收藏夹了。。。。。
数据结构就维斯的那本吧。
其他数学对程序员来说基本都浮云。
IT侃大山:
吴军《浪潮之巅》:真心推荐。我个人是双学位,管理也懂些。所以深刻知道吴军的技术高度来的有多么不容易。一个人真的该懂点市场,活得明白。
Paul《黑客与画家》:这个有点老了。大家就不要信里面的算法了。作者对于他的反垃圾算法和lisp都太过自信了。不过他的经历真心值得学习。