摘要:其他语言数据结构跟算法一样是在开始写代码的时候用得很少,都有着包装好的现成东西供你使用,但同样是面试和岗位上升会用得到,我就不说数据结构对代码有多少好处,请记住一句话能够实现个功能和能够最优地实现个功能,是完全不同级别的要求。
看书是学习最为实惠、有效的途径之一,书本的优势就在于它的权威性和系统性。一本好的技术书籍均来源于在相应领域有所建树的大佬所著,比起网络上懂点技术就能录、播和卖的教程,权威性是毋庸置疑的;而且这些书籍是按照严格的体系来写的,看完你是可以系统性地掌握知识的。
我认为大学是最好的看书、积累知识的好时期,时间较其他时期会多一些,而且大学图书馆馆藏丰富且免费,以及身边还有诸多志同道合的师生,千万不要错过了这个最佳成长期。
今天来给学计算机的大学生推荐一些最值得看的技术书籍,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进行数据分析》这一本进阶书籍。
众所周知,C语言开发很少在windows上做,基本上都是基于Linux操作系统在做,作为一名优秀的程序员,对于Linux的了解是必不可少的,这里我推荐《鸟哥的Linux私房菜:基础学习篇》。
《鸟哥的Linux私房菜》有基础学习篇和服务器进阶,新手可以学习基础学习篇,非常适合刚开始学的人,讲的很有针对性,实用性强,比大多数关于电脑系统使用的书要好,废话不多,几乎是学习Linux的入门级读物。
计算机网络是每个学计算机的人必修的东西,大部分学校都应该安排了这1门课程,但很多课本教材选的不是很好,比较晦涩难懂,再加上有些学校更偏向于考试结果,对于上课的内容也是简之又简,实在很难想象这么学完的人能说他懂计算机网络。
不懂计算机网络,算不得是优秀的开发者,就像前几天在一个粉丝在我文章评论区讲的“…现在虽然程序能跑,但是不了解相关原理,学了一段时间后,感觉很空中楼阁一样,很虚…”
关于计算机网络我推荐《计算机网络 自顶向下方法》这本书,这是1本很适合自学的书,翻译做不错,必要的术语都留有英文,读起来还是挺顺畅的;书中的内容讲解得比较细致但却不繁琐,避免了新手看了不知所措,还有1个亮点就是书本还讲了无线网络、网络安全、多媒体网络这3块东西,这在其他的计算机网络书籍中讲的不多,但它们却都很实用。
说实话,90%以上的程序员在开发过程中很少自己写算法,但凡设计到算法的东西,一般都会去用去找现成的库或者框架以及去Google相应的解决方案和代码实现,只有极少数人会用到算法,但为什么还要在这里推荐算法书籍?
首先,程序员这个职业它确实自己写算法的人极少,但面试的时候要用,尤其是大厂面试喜欢问算法;再者就是岗位上升可能会用到,一般的写业务代码的用不到,但未来无限可能,难道你就这么一开始就把自己的起跑线定得这么低吗?就算你写出来的东西没有现有算法成熟,但那就已经是个不错的开始了,以后谁知道呢?
所以对大学生而言,我觉得算法得学。
我推荐《算法》这本,与算法领域著作《算法导论》一样出名,但两者各有优劣,《算法导论》在学术水平上会更高一些,这也是为什么很多高校的算法教材选它的原因;《算法》这本书则更注重解决实际问题,实战性会更强,它是基于Java写的,比起其他的经典算法书,这本书更适合初学者去学。
数据结构跟算法一样是在开始写代码的时候用得很少,都有着包装好的现成东西供你使用,但同样是面试和岗位上升会用得到,我就不说数据结构对代码有多少好处,请记住一句话:
“能够实现1个功能和能够最优地实现1个功能,是完全不同级别的要求”。
能实现1个功能是普通程序员会的,能够最优地实现1个功能才是优秀程序员的能力所在,假如你的老板跟你说这一段代码太慢了或者占空间过大,要你改,你怎么去做优化?
所以数据结构也是要学的,数据结构和算法可根据你擅长的语言去选择。
写代码的大学生我建议去看看《重构 改善既有代码的设计》这本书。
这是一本对许多开发者都有着深远影响的好书,不仅能够在做项目或者工作过程中树立一种重构的思想,而且能教会我们很多重构的细节,对于我个人来说,对我的影响同样是很大的,尤其是在刚写代码的前几年,能够大幅提升我代码质量,是一本不错的程序员工具书。
现在《重构》已经出到了第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
摘要:相关推荐,豆瓣评分,人评价本书介绍了在编程中条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。实战高并发程序设计推荐豆瓣评分,书的质量没的说,推荐大家好好看一下。 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb... 【强烈推荐!非广告!】...
摘要:实战高并发程序设计推荐豆瓣评分书的质量没的说,推荐大家好好看一下。推荐,豆瓣评分,人评价本书介绍了在编程中条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。 很早就想把JavaGuide的书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善。虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去。希望这篇...
阅读 1958·2021-09-09 09:33
阅读 1105·2019-08-30 15:43
阅读 2642·2019-08-30 13:45
阅读 3294·2019-08-29 11:00
阅读 842·2019-08-26 14:01
阅读 3557·2019-08-26 13:24
阅读 470·2019-08-26 11:56
阅读 2680·2019-08-26 10:27