有哪些程序员必读书籍值得推荐?
程序员必读书有哪些?这个其实没办法回答,你最需要的,就是你必读的。不过,仍然有很多经典的书籍,当你读完这些之后,你会发现另外一番天地,也解放了自己的思维方式。
代码大全(第二版)
本书从软件质量、编程思想等方面阐述了软件构建的各种问题,并论述了紧跟潮流的新技术、高屋建瓴的观点,而且还有丰富的程序示例。看完这本书,可以打开自己的思维方式,有种柳暗花明又一村的感觉。
程序员修炼之道
这本书主要讲述了使代码保持灵活并且易于改变和复用的各种框架技术,利用了许多富有娱乐型的奇闻异事,具有思想性的例子及有趣的类比,全面阐述了软件开发的许多不同方面的最佳实践和重大陷阱,绝对是程序员必读的书之一。
计算机程序的构造和解释
本书成型于麻省理工学院多年使用的一本教材,世界各地已有100多所院校采用本书作为教材,包括美国福斯坦大学、普林斯顿大学、牛津大学、东京大学等。
这本书,能赋予你智慧。
C程序设计语言
由C语言设计者Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan编写的一部介绍C语言标准及其程序设计方法的权威性经典著作。全面、系统的讲诉了C语言各个特性及程序设计的基本方法。
C语言开发者必读的一本书,其他开发者也不妨看看,非常有价值。
重构:改善既有代码的设计
实用性书籍,清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时、何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换首发的动机和技术。
这本书可以帮助你减少开发过程中的风险,是很有价值的参考读物。
人月神话
本书蕴藏了很多发人深省的观点,而且有大量的软件工程的实践,为每个复杂项目的管理着给出了自己的真知灼见。这本书适合软件开发行业的从业人员阅读,对软件开发、软件项目经理、系统分析师更是必读之作。
代码简洁之道
《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
这本书非常有借鉴的价值。
好了,说了这么多,忘记开头语了:收藏不看系列……(真的很有价值,不看感觉亏了什么)
——摘自W3Cschool学员的回答
工作10年+程序员分享一些自己看过、觉得还不错的程序员学习书籍,主要是后台开发或者云计算方向,希望对想拿到BATMD等互联网公司的同学offer有用。
一、计算机网络,推荐书籍:
1、计算机网络(谢希仁)
2、TCP/IP详解
3、HTTP权威指南
二、数据库、Redis,推荐书籍:
1、MySQL数据库
2、应用从入门到精通
3、高性能Mysql
4、Redis设计与实现 Redis实战
三、数据结构与算法,推荐书籍:
1、数据结构C语言版(严蔚敏)
2、java数据结构和算法(Robert Lafore)
3、剑指offer及leetcode刷题(大神可以看一下算法导论)
四、java,推荐书籍:
1、设计模式那点事
2、疯狂java讲义
3、java并发编程实战
4、深入理解java虚拟机
5、java编程思想
五、其他推荐:
1、Hadoop权威指南(hadoop:mapreduce、HDFS、yarn等等)
2、Hive编程指南(hive:很常用的处理工具)
以上是推荐给程序员们的必读书籍。
BAT架构师原创出品的【java架构师学习80期专题资料合集】免费送,发送【架构】,无套路立即领取。
觉得有用点赞支持,小伙伴们觉得还不错的书籍,也可以在评论贴出来分享给大家。
不同级别的程序员,应该看什么书?快拿小本本记好!(文末附电子版)
第一阶段:初级程序员(0-3年)
这部分的程序员工作经验在3年以下,还处于打基础和定方向的阶段,建议这个阶段的程序员主要精力要用于夯实基础和规范编程。
一、对程序员领域有清楚的认识
《编码:隐匿在计算机软硬件背后的语言》
豆瓣评分:9.2分
这本书常年排在程序员必读书单TOP5内,作者通过丰富的想象将看似繁杂的计算机工作原理阐述得通俗易懂。
你在读的时候,会惊讶地发现把电线、电灯泡、触发器这些常见的零件拼拼接接,最后居然可以建造一台电子计算机,在这个过程中,还顺便学了数理逻辑、布尔代数、组合数学、集合、物理、化学和电子学。
二、学习写代码,是一个程序员的灵魂
《代码整洁之道》
豆瓣评分:8.6分
如果你想成为一个更好的程序员,你就必须阅读这本书。作者Bob给出了一系列整洁代码操作实践,并用实际项目的正、反案例,说明只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
而干净的代码,既容易理解、质量可靠,又让项目更容易启动和延续,也为后期维护、升级奠定了良好基础。
三、结合实际问题,帮助自己更进一步
《编程珠玑》
豆瓣评分:9.1
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是排在前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
四、算法和数据结构的精进
《数据结构和算法分析(套书)》
豆瓣均分:8.7分
这本书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。
在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
五、做好自己的职业规划
《软技能—代码之外的生存指南》
豆瓣评分:8.0分
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。
第二阶段:中高级程序员(3-5年)
一、培养专业的软件开发素养
《程序员修炼之道:通向务实的最高境界
(第2版)》 豆瓣评分:9.2分
《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。
二、职业发展
《软技能2:软件开发者职业生涯指南》
豆瓣评分:9.0分
这是一本为软件开发者量身定做的职业发展指南,处于任何发展阶段的软件开发者,都将从本书中获益。如果你是软件开发/编程的初学者或者只是对软件开发感兴趣的人士,可以通过本书了解如何开启软件开发的职业之旅,如何获得第一份工作;如果你是中级软件开发者,可以通过本书发现自己的知识短板,学会如何进一步拓展和掌握新的技术技能,如何学习新的编程语言,如何提升技术水平,如何在自己梦想的编程工作中深耕细作;如果你是身经百战的专业软件开发者,可以通过本书了解如何拓展和推进自己的职业生涯,如何更好地与同事和老板相处,如何推销自己的想法,如何做好向上管理,如何升职加薪。
第三阶段:全栈工程师/软件设计师(5-10年)
这个阶段的程序员,不得不开始思考未来的职业走向,是继续做一名底层码农,还是往更高的地方去,成为一个优秀的全栈工程师或者软件设计师。
一、协调项目、管理客户
《人月神话》
豆瓣评分:8.3分
《人月神话》探索了达成一致性的困难和解决的方法,并探讨了 软件工程 管理的其他方面。在《人月神话(英文版)》中,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。《人月神话(英文版)》适合任何软件开发行业的从业人员阅读,对软件开发人员、软件项目经理、 系统分析师 更是必读之作。
二、交互设计的重要性
《交互设计之路》
豆瓣评分:7.9分
本书是基于众多商务案例,讲述如何创建更好的、高客户忠诚度的软件产品和基于软件的高科技产品的书。本书列举了很多真实可信的实际例子,说明目前在软件产品和基于软件的高科技产品中,普遍存在着“难用”的问题。作者认为,“难用”问题是由这些产品中存在着的高度“认知摩擦”引起的,而产生这个问题的根源在于现今软件开发过程中欠缺了一个为用户利益着想的前期“交互设计”阶段。“难用”的产品不仅损害了用户的利益,最终也将导致企业的失败。本书通过一些生动的实例,让人信服地讲述了由作者倡导的“目标导向”交互设计方法在解决“难用”问题方面的有效性,证实了只有改变现有观念,才能有效地在开发过程中引入交互设计,将产品的设计引向成功。
要想不被市场淘汰,就要保持学习的好习惯,不想做个只吃青春饭的程序员,就要科学地规划自己的职业生涯,向高阶的程序员不断努力!
除了看书,结合相应的学习资料和视频会更加事半功倍哦~
需要以上书单的,私信我“程序员书单”即可,已经整理好了。