18年程序员生涯,读了200多本编程书,挑出一些精华分享给大家
大家好,我是龙叔,18年的程序员生涯里,我读过不下200本技术书籍,现在家里的书房还有几十本觉得不错的书籍,经常会拿来翻阅。
一、论看书的重要性
现在不像十几年前那样,现在的学习资源很多,出了校园工作了之后,很多人都不怎么喜欢看书,通过看书来学习的人越来越少了,但我一直保持着这个习惯,现在也是,每天早上都会起来看一些书籍。
书籍的优点之一就在于,它拥有完整的体系,从它的目录你就能看得出来,如果你好好地去读完一本书籍,那么你掌握的就是一个完整的知识体系,可以跟一些网课相比肩。
书籍的另一个优点就是权威。能够被出版社出版的书籍,流传都会比较广,作者基本上都是一些技术很牛逼的人士,他们在写书的时候倾注了极大的心血,并持续地区修订改良,权威性很强。
现在资源这么丰富,如果你是零基础想了解一门技术的话,你随便看啥都行,看一些博客或者论坛网站之类的,甚至教科书都可以,但如果你想深入学习一门技术,那么权威书籍就得耐心去看了,这对你将会有莫大的帮助。
虽然现在网上都有PDF之类的电子版本书籍,但我还是适应不过来,我还是比较喜欢把书拿在手里一页一页去翻、边看边做笔记的那种。
借用著名作家冰心的一句话“读书好,多读书,读好书”,今天我来分享一下我觉得比较不错的编程书。
一、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 2 的代码,也包含了Python 3 的代码,基本上把python语法的层面全部讲完了,还有Python常见的应用领域也讲了。
然后给大家推荐一本《Python从入门到实践》,这本书是基于Python 3 讲的,这本书作为入门书籍是没有任何问题的,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、多线程编程、网络、套接字等等,非常实用和经典。
进阶四:代码质量书籍
最后给大家推荐一下代码质量方面的书,也是我对我影响最大的一本书,从中收获了很多的心得和技能,《重构 改善既有代码的设计》,这本书讲的就是最佳实战,当然你需要有一定的编程基础。
这些书都是非常经典,我觉得几乎都是必读技术书籍,如果你看完了,找工作应该不是问题,如果你再配上一些实操和开源项目联系的话,那找一份好工作也问题不大,很多书籍我觉得在读书的时候就应该看了的,所以分享给大家,一起共勉。
粉丝福利
18年程序员生涯,读了200多本编程书,挑出一些精华分享给大家相关推荐
- 每个程序员都应该读的非编程书
1.<银河系漫游指南>by Douglas Adams 推荐数:480 生活,宇宙,所有的一切. "看在前,思考在后,然后去实践.但是看总是在最前面.否则,你只能看到你以为的样子 ...
- 国外程序员推荐:每个程序员都应该读的非编程书
五年前有网友在 Stackoverflow 发帖提问:『程序员应该读哪些非编程方面的书?』.有很多程序员响应,他们在推荐的同时也写下了自己的评语.本文摘编其中 29 本书,下面就按照各书的推荐数排列. ...
- 【程序员杂谈】国外程序员推荐:每个程序员都应该读的非编程书
本文由 伯乐在线 - abell123 翻译自 Stackoverflow .欢迎加入 技术翻译小组 .转载请参见文章末尾处的要求. [伯乐在线导读]:五年前有网友在 Stackoverfl ...
- unix入门经典_程序员大神们的经典编程语录
作为程序员的你,下面这些程序员经典语录请您认真来读一读,也许此时此刻会有不一样的心得体会与收获. "大多数优秀的程序员从事编程工作,不是因为期望获得报酬或得到公众的称赞,而是因为编程是件有趣 ...
- 一位10年程序员生涯的总结与经验忠告分享
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...
- 总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的 ...
- 程序员生涯之我见 找到自己的兴趣所在 (zz)
程序员生涯之我见 找到自己的兴趣所在 2006.01.13 来自:网易科技 冯羽 <script language="JavaScript" type="te ...
- 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...
- 对前端、后端和全栈感兴趣的人,建议都看看!18年老程序员给你指点迷津
各位读者朋友们好,我是龙叔,1名退休老码农,如果从工作算起的话我的码龄有18年,今天我来对前端.后端.全栈这3个方面分享一下我的见解,对于准备学编程或者刚学编程不久的小友,让我来给你们拨开迷雾. 看完 ...
最新文章
- XP 的共享方案(面对新人)
- HTML中Select的使用详解
- 【Spring框架家族】SpringBoot整合第三方
- [Python]元组与列表的区别及内建用法
- linux中 pwd *****,linux命令自己写--pwd
- 通过js encodeURIComponent传到服务器的乱码问题
- sort()函数、C++
- 【ElasticSearch】Es 源码之 Transport 和 TransportService 源码解读
- 2016可信云大会进入倒计时 顶级“参会攻略”强势来袭
- SAP BW报表使用操作手册——基础操作
- 教你如何使用win7系统屏幕键盘--win7w.com
- 【宋红康 MySQL数据库 】【高级篇】【10】索引的创建与删除_MySQL8.0的索引新特性
- android toolbar 搜索框,SearchView配合RecyclerView实现分页搜索过滤关键字
- 新手做自媒体短视频,会用到的工具和素材站分享,收藏起来慢慢看
- 清除壁垒 大数据推动城市规划质突破
- 解决App自动化的不稳定因素-弹框及首页启动加载完成判断处理
- 移动互联网时代,怎样打造一款新闻资讯类产品?
- GRECP/LPL RECOVERY
- 解决、鼠标间歇性、自动断开、又重连(有图)
- “互联网汽车”又添新成员,上汽斯柯达接入斑马智行互联系统