资讯专栏INFORMATION COLUMN

大学四年学计算机最值得看的技术书,要读就读最好的书,程序员精品书单!

liangzai_cool / 1917人阅读

摘要:其他语言数据结构跟算法一样是在开始写代码的时候用得很少,都有着包装好的现成东西供你使用,但同样是面试和岗位上升会用得到,我就不说数据结构对代码有多少好处,请记住一句话能够实现个功能和能够最优地实现个功能,是完全不同级别的要求。

前言

看书是学习最为实惠、有效的途径之一,书本的优势就在于它的权威性和系统性。一本好的技术书籍均来源于在相应领域有所建树的大佬所著,比起网络上懂点技术就能录、播和卖的教程,权威性是毋庸置疑的;而且这些书籍是按照严格的体系来写的,看完你是可以系统性地掌握知识的。

我认为大学是最好的看书、积累知识的好时期,时间较其他时期会多一些,而且大学图书馆馆藏丰富且免费,以及身边还有诸多志同道合的师生,千万不要错过了这个最佳成长期。

今天来给学计算机的大学生推荐一些最值得看的技术书籍,4年的书单就可以从中挑选了!

读书好,多读书,读好书!


一、代码之外的生存指南

我推荐的第一本书是《软技能2软件开发者职业生涯指南》,又称“代码之外的生存指南”。

为什么把这本书放在前面来讲?在十几年的开发生涯当中,对我有影响的技术书籍很多,但技术会迭代和过时,而技术之外的东西,往往在十几年里都能持续发酵,尤其是在刚开始写代码和工作了几年之后这一段前中期,启蒙和职场规划都收益不小。

岁月流逝二十余载,从一开始上大学接触代码,到后来的羽翼丰满与否都得进入社会人潮,在IT之路上有人半道改行,有人苦苦坚持,也有人攀上高峰,以我十几年的开发经验来看,限制技术人员发展的因素,往往不是技术能力,而是技术之外的软技能。

很可惜,学校能够教会我们硬技能,但是软技能的教育一直都比较空缺。

《软技能》和《软技能2软件开发者职业生涯指南》我都看过,都是软件开发者的好书,个人比较推荐后者,内容更为具体和有针对性,对于开发领域的讲解更为透彻,书本内容包括入行经验、职场求职、发展和转型、职场技巧、自我营销以及专业知识等等,不同阶段的开发者都适合去看,每次遇到瓶颈期我都会拿出来再次重读,颇有收获。


二、 语言书籍

有朋友说学计算机的必须精通两门以上的编程语言,我是认同的,但我觉得这其实可以分一下时间来,大学四年可以只精通1门语言,剩下的在后面的职场去边工作边学也可以的,毕竟大学虽然时间较多,但要学的东西也很多,所以大学毕业只精通1门语言也是可以的。

我建议大学可以从C/C++/Java/Python这4门语言中选择1门精通,以下是这4门语言从入门到精通的推荐书籍,都比较全面。

1.C语言书籍——《C Primer Plus 中文版》
C语言书籍我推荐《C Primer Plus(第6版)中文版》,我自己看过很多的大学C语言课本以及课本之外的C语言书籍,在C语言入门这一块,我暂时还没看到比它更好的。

全书700多页,内容很全面,讲的比较浅显易懂,文笔还比较风趣,知识点循循渐进式讲解,适合初学者系统性地学习C语言,虽然中译的时候有局部错误,但绝大多数翻译过来的书都有这个通病,如果你能发现出来,那说明你是真学得不错。

这本书比起谭浩强的《C程序设计》要强上太多了,两者根本不在一个档次,《C Primer Plus》目前应该是出到了第6版了,买书的话尽量买新版的,老版的知识点存在技术迭代导致的不适用可能性。

2.C++书籍——《C++ Primer Plus 第6版中文版》
《C++ Primer Plus 第6版中文版》作为久负盛名的C++经典教程,丰富的教学辅助内容、精心组织的编程示范,无论是初学者入门,或是中、高级程序员提升,都是不容置疑的首选。书本比较厚,可能短时间内你看不完它,没关系,4年的时间我相信完全是足够了,不要急躁地跳着看,这本书有很多细节东西是很宝贵的。

3.Java书籍——《Java编程思想》
有一部分人认为《Java编程思想》比较厚,1400多页,不适合初学者,但在我看来,市面上确实有很多简短的Java入门书籍,但大多数都是跳跃式、简略式的书籍,读完确实能够入门,但是一只脚入门还是两只脚都入门了,还另说。

《Java编程思想》我在读大学的时候用的就是它,书中对知识点讲述比较详细,很多晦涩的概念也都以通俗易懂的方式进行讲解,是业界公认的Java好书之一。工作之后虽然有买很多新书,但唯独钟爱的还是它,非常系统的一本书籍,学技术本身就是要沉下心来做的事情,4年时间你还看不完这1本千把页的书,你以后的技术之路是很难走下去的。

4.Python书籍——《Python编程从入门到实践》

新手学Python的话我推荐这本《Python编程从入门到实践》,这是一本非常小白的书籍,内容友好,没有深奥晦涩的知识点,讲解到位,能够让小白快速了解Python,享受编程带来的信心和兴趣。

本书分为两个部分:基础知识和项目实战,先是对Python基础知识循序渐进地学习,再通过一个个优质项目的实战训练,培养自己的编程思维,分析问题的技巧和角度,绝对受益匪浅。

这本书是基于Python 3 讲的,这本书作为入门书籍是没有任何问题的,Python的常见应用领域也有包含,学完基础之后如果你还想扩展到某一个具体的应用领域,然后你再去找那具体应用领域的书。

当然了,以上介绍的语言书籍只是全面性的入门到精通书籍,但如果要往更细分的技术领域发展,那自然要找领域的书籍去学了,比如想往Python的数据分析这方面发展,那你可以看看《利用Python进行数据分析》这一本进阶书籍。


三、Linux书籍

众所周知,C语言开发很少在windows上做,基本上都是基于Linux操作系统在做,作为一名优秀的程序员,对于Linux的了解是必不可少的,这里我推荐《鸟哥的Linux私房菜:基础学习篇》

《鸟哥的Linux私房菜》有基础学习篇和服务器进阶,新手可以学习基础学习篇,非常适合刚开始学的人,讲的很有针对性,实用性强,比大多数关于电脑系统使用的书要好,废话不多,几乎是学习Linux的入门级读物。


四、计算机网络书籍

计算机网络是每个学计算机的人必修的东西,大部分学校都应该安排了这1门课程,但很多课本教材选的不是很好,比较晦涩难懂,再加上有些学校更偏向于考试结果,对于上课的内容也是简之又简,实在很难想象这么学完的人能说他懂计算机网络。

不懂计算机网络,算不得是优秀的开发者,就像前几天在一个粉丝在我文章评论区讲的“…现在虽然程序能跑,但是不了解相关原理,学了一段时间后,感觉很空中楼阁一样,很虚…”

关于计算机网络我推荐《计算机网络 自顶向下方法》这本书,这是1本很适合自学的书,翻译做不错,必要的术语都留有英文,读起来还是挺顺畅的;书中的内容讲解得比较细致但却不繁琐,避免了新手看了不知所措,还有1个亮点就是书本还讲了无线网络、网络安全、多媒体网络这3块东西,这在其他的计算机网络书籍中讲的不多,但它们却都很实用。


五、数据结构和算法书籍

(1)Java算法

说实话,90%以上的程序员在开发过程中很少自己写算法,但凡设计到算法的东西,一般都会去用去找现成的库或者框架以及去Google相应的解决方案和代码实现,只有极少数人会用到算法,但为什么还要在这里推荐算法书籍?

首先,程序员这个职业它确实自己写算法的人极少,但面试的时候要用,尤其是大厂面试喜欢问算法;再者就是岗位上升可能会用到,一般的写业务代码的用不到,但未来无限可能,难道你就这么一开始就把自己的起跑线定得这么低吗?就算你写出来的东西没有现有算法成熟,但那就已经是个不错的开始了,以后谁知道呢?

所以对大学生而言,我觉得算法得学。

我推荐《算法》这本,与算法领域著作《算法导论》一样出名,但两者各有优劣,《算法导论》在学术水平上会更高一些,这也是为什么很多高校的算法教材选它的原因;《算法》这本书则更注重解决实际问题,实战性会更强,它是基于Java写的,比起其他的经典算法书,这本书更适合初学者去学。

(2)其他语言

数据结构跟算法一样是在开始写代码的时候用得很少,都有着包装好的现成东西供你使用,但同样是面试和岗位上升会用得到,我就不说数据结构对代码有多少好处,请记住一句话:

“能够实现1个功能和能够最优地实现1个功能,是完全不同级别的要求”

能实现1个功能是普通程序员会的,能够最优地实现1个功能才是优秀程序员的能力所在,假如你的老板跟你说这一段代码太慢了或者占空间过大,要你改,你怎么去做优化?

所以数据结构也是要学的,数据结构和算法可根据你擅长的语言去选择。

  • C++的话推荐《数据结构(C++语言版)》;
  • C语言的话推荐《数据结构与算法分析 C语言描述》;
  • Java的话可以去看前面那本《算法》,如果想算法和数据结构一起看的话,可以看《数据结构与算法分析 Java语言描述》这本;
  • Python可以去看《数据结构与算法 Python语言描述》;
  • JavaScript的话,可以去看《学习JavaScript数据结构与算法(第3版)》。


六、代码书籍

写代码的大学生我建议去看看《重构 改善既有代码的设计》这本书。

这是一本对许多开发者都有着深远影响的好书,不仅能够在做项目或者工作过程中树立一种重构的思想,而且能教会我们很多重构的细节,对于我个人来说,对我的影响同样是很大的,尤其是在刚写代码的前几年,能够大幅提升我代码质量,是一本不错的程序员工具书。

现在《重构》已经出到了第2版,只是我自己没有去买了,一是自己已经不做一线开发工作了,二是重构的思想和方法,我已经熟记于心了,够用了。

这本书可以在大学的后期去看看,这个时候的你也算是写了一两年的代码了,在进入职场之前,去看看它是很有益的。


七、其他书籍

如果你想做一些拿得出手的项目,那么往细分领域去延伸是很有必要的,比如往前端、后端、网络安全等方向去深入学习1个你喜欢的领域,这里我就不细讲了,篇幅有点长,我就直接说一些我觉得还不错的书名了,大家有兴趣的可以去网上看看。

1.前端开发推荐书籍

①《JavaScript语言精粹》

②《JavaScript高级程序设计》

③《ES6标准入门》

2.后端开发推荐书籍

①《SQL必知必会》或《高性能MySQL》二选一,掌握数据库。

②《Effective Java 中文版》,目前应该出到了第3版吧,有能力的可以去看英文原版,原版更为精妙一些。

③《图解HTTP》

3.自动化测试推荐书籍

①《Selenium3自动化测试实战——基于Python语言》,适合零基础。

4.人工智能推荐书籍

①《统计学习方法(第2版)》,这是国内少有的机器学习巅峰之作,由李航所作,比起周志华的西瓜书《机器学习》强太多了。

②《Python深度学习》,深度学习经典之作。

5.网络安全

①《黑客攻防实战详解 第2版》,最佳的防御,是懂得如何攻击。

6.数据分析

①《Python数据分析基础教程》,人民邮电出版社2020年出版的,适合零基础者进行学习。

②《Python数据科学手册》,Python数据分析进阶好书。

7.网络爬虫

①《Python 3网络爬虫开发实战》,适合零基础。

②《Python网络数据采集》,适合进阶。


结语

上面所介绍的书籍可能并非全部都是最新版本的,我已经过了要紧追技术新潮的年纪了,所以大家在看书之前可以去网上查一下有没有出新版。

可能对于很多人来说,完成工作内容需要的东西可能并不是很多,但如果你不甘于用时间来换空间这么一种职场模式,你想去做出更多、更好的成绩,你就会发现自己的知识储备远远不够。

所以你们的大学,多储备一些知识,以后的路会更好走一些,加油!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119665.html

相关文章

  • 【备战春招/秋招系列】Java序员必备

    摘要:相关推荐,豆瓣评分,人评价本书介绍了在编程中条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。实战高并发程序设计推荐豆瓣评分,书的质量没的说,推荐大家好好看一下。 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb... 【强烈推荐!非广告!】...

    saucxs 评论0 收藏0
  • Java学习必备籍推荐终极版!

    摘要:实战高并发程序设计推荐豆瓣评分书的质量没的说,推荐大家好好看一下。推荐,豆瓣评分,人评价本书介绍了在编程中条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。 很早就想把JavaGuide的书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善。虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去。希望这篇...

    Steve_Wang_ 评论0 收藏0
  • PHPer

    摘要:想提升自己,还得多看书多看书多看书下面是我收集到的一些程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧当然,如果你有好的书想分享给大家的或者觉得书单不合理,可以去通过进行提交。讲师温铭,软件基金会主席,最佳实践作者。 想提升自己,还得多看书!多看书!多看书!下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧!当然,如果你有好的书想分享给大家的或者...

    jimhs 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<