不知不觉已经又走过了20个年头了,今年已经44了,虽然我已经退休在家,但一直都保持着读书的习惯,我每年平均要读10本技术书籍,保持不让自己的技术落伍。
这些年读的技术书不下200本,很多好书我都会保存在家,时长去翻阅。今天给大家推荐其中几本精华好书,建议做程序员的都去拜读一下。
借用著名作家冰心的一句话“读书好,多读书,读好书”。
除了编程语言的经典好书外,我还会给大家介绍算法等其他方面的进阶书籍,希望能帮到大家。
本文所涉书籍均已和出版社协商妥当,只为技术交流,无消费和其他引导,仅做参考。
一、C语言书籍
首先来说一下C语言书籍,这也是很多人问到我的一个问题了,C语言看什么书比较好? 我推荐这本《C Prime Plus》。
这本书基本上C语言的方方面面基本全涉及到了,相信有很多人都看过谭浩强先生那本教科书《C语言程序设计》,谭先生的这本书我也看过很多次了,但以我经验来看,我推荐的这本它要全得多、深得多,多吃透几遍很有用的。
版本的话, 建议大家去看最新版本的书籍,技术书籍经常会因为技术的更新而出新的版本,虽然改动不会很大,但咱们尽可能跟上最新的技术趋势为好。
对于C语言,进阶的话可以看看别的书,主要两方面的书籍,一个是指针,一个是内存,这两个是C语言里面最重要的东西了,《C和指针》、《C陷阱缺陷》、《C专家编程》都是不错的。
二、C++书籍
C+++书籍我给大家推荐两本,一本是非常经典的《C++ Primer》,另一本是《C++ Primer Plus》。
这两本书的区别就在于,《C++ Primer Plus》更适合零基础的人去看,因为里面的内容更为简单一些,如果你具备或看过C++的东西,或者C语言基础比较好,《C++ Primer》这本书会更适合你。
三、Java书籍
Java书籍我力荐《Java编程思想》,在我看过的所有Java书籍里面,这是最全、最有深度的一本,如果错过了那就太可惜了。
当然,如果你Java基础不怎么好,可能看到后面会有点费劲,那么你可以从《Java核心技术》这本看起,它会比较合适,这本书有I卷和II卷,都非常不错。
如果你想把Java作为一门职业语言的话,这3本书是一定要看的。
四、Python书籍
现在Python学习的人数是越来越多了,很多小伙伴在网上问我学Python应该看哪本书比较好,那么我给大家推荐两本。
第一本是《流畅的python》,这是一本适合中高级程序员去的Python好书。
当你学了一些Python之后想要进阶学习,《流畅的Python》就相当适合,它会让你从底层进一步了解Python,它基本不涉及入门级内容,反而聚焦在数据模型、数据结构、函数对象、面向对象、控制流程与元编程等话题上。
如果你是新手的话,就不要去读《流畅的Python》了,可以去读《Python从入门到实践》。
这也是Python的经典好书之一,内容通俗易懂,新手上路没有问题,里面还结合了很多练手项目,就像书名所说的,学完你就能从入门到实践。
五、Go语言书籍
GO语言给大家推荐一本我最近也在看的书《GO语言实战》,也叫《Go In Action》,这本书是由国外书籍翻译过来的,比较薄,但非常通俗易懂,市面上经典的Go语言书籍并不多,这本书作为入门书籍我觉得是不错的。
进阶一:数据结构与算法书籍
当我们掌握了C语言/C++/Java/Python/GO中的一两门语言,已经入门了之后,就满足了找工作的第一要素,那么我们就需要深入地了解IT行业里面比较重要的IT技术了,这不仅会是面试的时候会涉及的内容,面试官会探测你的技术深度,而且会在工作中实际经常用到。
对于编程工作而言,除了语言的精通,最最重要的就是数据结构与算法了。
这方面我给大家推荐《算法导论》这本书,这本书不适合初学者,因为这本书要求你有很强的数学功底以及比较深的数据结构与算法的基础底子。
相比较上一本书而言,《算法》这本书就比较好接受了,应该适合绝大多数学数据结构和算法的小伙伴们。这本书它基础的数据结构与算法都非常全面的涉及了,基本上就是可以成为你把数据结构和算法学得不错的一本书了。
进阶二:计算机网络书籍
计算机网络也是找工作很重要的一个东西了,必须掌握,计算机网络在狭义一点理解其实就是TCP/IP协议栈。
首先我一直觉得《TCP/IP详解》这本书是我看计算机网络或者说TCP/IP协议栈最好的一本书。虽然说这本书大家觉得很晦涩,太经典了,所以是必须要推荐。当然还有一本《计算机网络 自顶向下》,纵观所有计算机网络方面的书籍,我觉得目前是没有其他比它们俩更好的书籍了,那么可以从中二选一来看。
进阶三:Linux系统书籍
找工作必备的一个技能就是Linux操作系统,众所周知,C语言开发很少在windows上做,基本上都是基于Linux操作系统在做,作为一名优秀的程序员,对于Linux的了解是必不可少的。
首先给大家推荐鸟哥的《linux私房菜》,这本书主要讲Linux操作系统的使用,因为就是主要还是命令,很适合当工具书,如果你对里面的内容基本都熟悉,那你一定能派上用场,不需要你记住细节,但你要大致能知道哪个命令是干啥的,建议大家诵读一遍。
《linux私房菜》讲的还只是Linux操作系统的使用层面,但如果你想学会在Linux操作系统上编程,建议去看这本叫《Unix环境高级编程》,C语言学得再好,不会在Linux操作系统上编程实战,那么也只是一个玩具而已。
《Unix环境高级编程》会讲很多实战方面的内容,比如文件IO、多线程编程、网络、套接字等等,非常实用和经典。
进阶四:代码质量书籍
最后给大家推荐一下代码质量方面的书,也是我对我影响最大的一本书,从中收获了很多的心得和技能,《重构 改善既有代码的设计》,这本书讲的就是最佳实战,当然你需要有一定的编程基础。
这些书都是非常经典,我觉得几乎都是必读技术书籍,如果你看完了,找工作应该不是问题,如果你再配上一些实操和开源项目联系的话,那找一份好工作也问题不大,很多书籍我觉得在读书的时候就应该看了的,所以分享给大家,一起共勉。
结语
学编程从来都不是一朝一夕的事情,那些跟你说几天就能精通某个语言的,全是在忽悠人。
我自己很喜欢Python,收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
点击文末的名片可以抱走