天天看点

程序员必看书籍(转载)

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。。。。嗨。。。。编码量少啊。。。。

还有 

。这个网站要是你没上过的话,我怀疑你仲么写的程序。。。。。

当然,官方文档也应在列。不过说实话,我没看。不敢列上来害人。可读性应该不高。

还有,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经典的进行深入

 《Unix

Network  Programming》:不多说废话了。

软件工程:

  《人月神话》:听过的人很多,看过的人很少,想了解软件工程的多少看一下吧。

  《 Head First Object-Oriented Design and Analysis》:Head

First面向对象设计不错的书,浅显易懂,图文并茂

《GoF Design

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都太过自信了。不过他的经历真心值得学习。