我读过的一些编程相关的书籍

不知不觉,2015年6月研究生毕业,到现在2017年4月快两年了,一直很喜欢编码,学技术,研究一些细节。我买过很多书,读过很多书,有些书读过就放一边了,有些书买了还没来得及看,有些书则会放在手边反复看好几遍。

在这里我做一些记录,以后看了更多书,也会在此记录下来,希望能够有一天,能够明白如何成为更好的自己。

我在工作中,以C/C++为主,所以更多的时候,我都是看C/C++相关的技术书籍。


一、基础语法学习

(1)《C语言程序设计》——K&R

最经典的C语言教材,不多说。

(2)《C Primer Plus》——Stephen Prata

可能K&R的书,过于经典,简约而深刻,我刚开始学习C的时候,没看下去。

所以我后来看了这本书,仅仅就入门来说,还是这本书读起来更为合适。

(3)《C++入门经典》——Walter Savitch

这本书,是我读过的最好的C++入门书籍了。

语言通俗易懂,对于细节不过分介绍,对于必知必会的内容都有很好的讲解。我就是看这本书入门C++。

(4)《C++ Primer》——Stanley B. Lippman

我上大四的时候,购买了C++ Primer的第4版,后来工作了,第五版出来了,我也买了。

总体感觉,这本书绝对不适合新手入门,适合有经验的老司机复习,查阅。

(5)《C++程序设计语言(第1-3部分)》,《C++程序设计语言(第4部分:标准库)》——Bjarne Stroustrup

这是一套语法书,我买的是第四版。

很经典,对语法,对语言都讲解的非常到位,我十分喜欢这套书,时不时的翻一翻,查一查。

(6)《Python核心编程,第二版》

最完美的python入门书籍,没有之一。


二、算法与数据结构

(1)《数据结构与算法分析:C语言描述(原书第2版)》——Mark Allen Weiss

书中的代码都是伪代码,这一点给刚开始学习的我,带来了无限的困扰,无法跑通的例子让人十分崩溃。

不过,后来随着调试经验和编码经验的增长,已经十分习惯调试的我,反而感觉到伪代码的好处,不纠结于细节,

更加突出算法本身,确实是非常经典的讲述数据结构与算法的书籍,非常耐看,我反复看了好几遍。

(2)《算法精解:C语言描述》——Kyle Loudon

这本书的代码基本都是能用的,很贴近实际应用,好书。

(3)《算法 第4版》——Robert Sedgewick

好厚啊,比上面Weiss写的那本厚1倍还不止,正在看,还没看完。


三、C++编码经验之谈

(1)《Effective C++中文版(第3版)》——Scott Meyers

梅耶尔大师的这本书,基本上是每一个写C++的人,都必读的一本书。

不管你用什么方式入门的C++,没看过这本书,基本都是白瞎,写出来的东西,很可能存在巨大隐患。

我至少看过3遍,时不时还翻一翻。

(2)《大规模C++程序设计》——John Lakos

刚入门的时候,解释了我很多疑惑,比如怎样从物理上布局你的程序。

不过只看了一遍,更多的时候是在工作中体会。

(3)《C++编程思想》——Bruce Eckel

这本书,其实还是语法介绍居多。

(4)《C++高级编程》——Marc Gregoire 

贵又贵的一匹,用却没啥用。

记得当时90左右买的一本,名字叫的这么高大上,内涵却low的一匹 ,那里高级了?全是基础罢了。

(5)《高质量程序设计指南:C++/C语言》——林锐

终于有一本国产的书籍了,确实有很多细节,确实有独到之处,笔试面试之前翻一翻,还是有用的。


四、设计模式

(1)《Java与模式》——阎宏

这本书,可以说是非常经典的一本关于设计模式的书了,也可以说是一本介绍面向对象编程的书。

好书,推荐。不过已经绝版了,只能看电子版。

设计模式的书不必多看,唯有多实践,多编码,在适当的项目中加以应用。

不要为了模式而模式,不必拘泥于模式,灵活应变才是王道,所谓没有银弹,就是这个意思。

(2)《Head First设计模式》

很一般,例子很理论,不贴近实际应用,看着没啥意思。不是好书。


五、软件工程

(1)《代码大全》——Steve

太经典了,太牛逼了,无数个赞!

(2)《代码整洁之道》——Robert C. Martin

大师作品,果然非同凡响,鞭辟入里,力透纸背!

(3)《黑客与画家》

这就是传说中的:程序员发家致富指南!


六、工具书

(1)《C++标准库(第2版)》——约祖蒂斯,译者:侯捷

好书,不仅介绍了C++标准库的用法,还详细对比了C++11和C99的区别。

帮助巨大,放在工位上,经常学习此书。

(2)《精通正则表达式》——Jeffrey E.F.Friedl

每当需要做字符串匹配的时候,第一反应就是使用正则表达式,C++11已经支持正则了。


七、软件开发应用


1.桌面软件开发

(1)《VC++深入详解》——孙鑫,《深入浅出MFC》——侯捷

作为我的软件开发启蒙书籍,这2本书在指导我如何编码的道路上起了重要作用。

在使用VC++6.0的地方,他们几乎是兄弟一般的存在,必读必看。

只不过,现在已经不流行VC++/MFC了。

(2)《C++ GUI Qt 4编程(第2版)》——Jasmin Blanchette,《Qt Creator快速入门》——霍亚飞

有段时间,用Qt做一些软件,当我第一次使用Qt以后,我就深深地感受到为啥MFC会被淘汰了。

因为和MFC相比,Qt太好用了,太方便了,开发效率更高,界面更美观,而且跨平台!


2.Linux系统学习

(1)《鸟哥私房菜》——鸟哥

大四的时候,第一次接触Linux,就是学的这本书,很经典!

(2)《Linux命令行与shell脚本编程大全(第2版)》——Richard Blum,

《Linux Shell脚本攻略(第2版)》——Shantanu Tushar

学完鸟哥的书,就看了这2本书,第一次接触脚本,赶紧真是牛逼到爆了!

当时感觉shell可以翘起整个地球!

(3)《嵌入式Linux应用开发完全手册》——韦东山

大四那会,做嵌入式的毕业设计,这本书帮助很大。主要是看了几套嵌入式的教学视频。

如果有人还记得《十天学会单片机》的作者——郭天祥,那时大家都在搞单片机或者嵌入式。

谁会知道,这才几年,已经是"互联网+"称霸世界了。似乎物联网时代,硬件又可以火一把了,

我是写代码去了,不再理硬件的世界了。


3.Linux环境编程

(1)《Linux程序设计(第4版)》——Neil Matthew

在linux下,编程的入门书籍,主要是熟悉环境,不够好,太浅了,有点浪费钱。

(2)《UNIX环境高级编程》——W.Richard Stevens

大名鼎鼎的APUE,不解释!

(3)《Linux/UNIX系统编程手册》——Michael Kerrisk

工具书,没看完,查询为主


4.网络开发

(1)《计算机网络(第4版)》——Andrew S. Tanenbaum

现在已经出到第5版了,读研的时候,上课用的教材。

(2)《TCP/IP详解·卷1:协议》——凯文R.福尔

经典好书,值得多看几遍






(未完,好多没写的,以后会继续更新)

———————


展开阅读全文

没有更多推荐了,返回首页