程序员必备软件的书籍有哪些

关爱码农成长:程序员必须收藏的十本书籍
程序员客栈
这本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试前的准备工作、对面试结果的处理等内容;第8~9 章从数据结构、概念与算法、知识类问题和附加面试题4 个方面,为读者呈现了出自微软、苹果、谷歌等多家知名公司的150 道编程面试题,并针对每一道面试题目,分别给出了详细的解决方案。
Ctrl+D&将本页面保存为书签,全面了解最新资讯,方便快捷。中国领先的IT技术网站
51CTO旗下网站
每个程序员应该阅读的10本经典书籍
如果你是一个程序员, 除了编码之外,你还需要大量的阅读。今天我要为大家介绍几本值得一读的书,包括《The Pragmatic Programmer》,《The Mythical Man-month: Essays on Software Engineering》和《Clean Code: A Handbook of Agile Software Craftsmanship》。
作者:小峰来源:码农网| 11:24
如果你是一个程序员, 除了编码之外,你还需要大量的阅读。今天我要为大家介绍几本值得一读的书,包括《The Pragmatic Programmer》,《The
Mythical Man-month: Essays on Software Engineering》和《Clean Code: A
Handbook of Agile Software Craftsmanship》。
书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的依靠互联网搜索结果来找寻答案。
技术向前的步伐比人类历史上的任何时候都要走得更快。用不了几个月,就会有新的编程语言和工具问世,弥补现有语言、工具和方法的缺陷。
事实上,许多伟人都已经遇到过差不多的问题,并指出了解决这些问题的最佳途径。而这些方法和解决方案都收录在一些超棒的书籍中。
下面就是在这个行业中开发人员应该阅读的一系列伟大的书籍。
《The Pragmatic Programmer》
绝对是书籍中的瑰宝!这不是常规地建议你编码,编码还是编码的编程书。事实上,它并不限定于某种特定的编程语言:在这本书中的智慧适用于所有编程语言。
这本书对许多有趣的领域都提出了真知灼见,如各种探索性编程,在代码中编码,从模型中分离的观点,昂贵的工具并不产生更好的设计,开发一个伟大的团队,管理预期,避免知识的重复等。
这本书不仅可以帮助改变编码的习惯,还可以改变你作为一个程序员的性格。它充满了关于如何改进自己和代码的实用建议。
还有一个总结了提示和检查清单的小册子。
《The Mythical Man-month》: 关于软件工程的散文集
非常经典,被奉为软件行业的圣经。第一次出版于1970年,但是里面的内容比起以前,可能更适用于现在!
有听说过这些话吗?它们均摘自于这本书!
&所有的程序员都是乐观的:一切都会顺利。&
&添加人手到一个延迟的项目中只会导致完成得更慢。&
&生一个孩子总是需要九个月的时间,不管安排多少个女性。&
&一个煎蛋,承诺在两分钟内完成,但如果两分钟后还是没有准备好,那么客户有两种选择&&等待或吃半熟品,软件客户也只能这样选择。&
不幸的是,一年又一年地过去,而我们总是在软件开发中犯着相同的错误。这本书是每一个项目经理和开发人员都必须阅读的。
正从标题中所说的那样,这是一本散文集。文辞优美。这本书唯一的缺点就是引用了年迈25的古老技术。但是,这并不影响这本书的魅力。
《Clean Code》: 敏捷软件工艺的手册
有没有在看他人代码的过程中,不由自主地发出&哦,天哪,这是什么?&的经历,那么这个人肯定没有阅读过《Clean Code》。
这是一本关于软件工艺史诗般的书籍。这本书不仅会告诉你如何编写好的代码,而且还提供了软件开发的高效途径。照着去做的话,必将改变你的工作前景。
书中描述了编写干净代码的原则、模式和做法。里面一些关于整洁代码的几个案例都是开发人员宝贵的经验教训。
请注意,虽然在这本书中的所有实例都是关于Java的,但是从中学到的经验教训可以应用于任意的编程语言。
这篇文章所列出的这些书籍中,这本书出版得比较晚,所以可能更能引起年轻开发人员的共鸣。
《The Clean Coder》:的行为守则
此列表中Rob Martin的第二本书。建议你在读了《Clean Code》后,再读这本书。《Clean Code》讲的是代码,而这本书是关于&Coder&。
该书探讨了一些程序员经常忽视的主题。
成为专业的程序员意味着什么?
如何打磨自己成为一个真正的软件工匠
冲突和紧张的日程处理
如何管理你的时间?如何扩张技能?
何时说&不&
..以及更多。
你可能并不总是同意作者的观点,但它提供了良好的精神食粮。这可能并非你所期望的,但可能正是你所需要的。
《Refactoring》:改善已有代码的设计
不管你怎么努力,除非改进它,否则,你交付的代码不会是最优化的。有时即使工作正常,也会实施重构。
这本书从重构的通用原则说起:为什么以及什么时候重构,如何处理有关重构的管理等等。然后讲述了如何实现改进的过程。
代码的设计缺陷指标是什么?
如何构建类、方法和其他的逻辑块?
如何将功能从一个对象移动到另一个?
..以及更多
这是改进现有代码必读的书。请注意,所有的代码示例用的都是Java,但现在复制起来也很方便!
《Working Effectively With Legacy Code》
我们都必须工作于一些我们痛恨的东西&&对于大多数人而言,遗留代码真是令人头痛无比。
如何修改遗留代码?如何识别需要重构的代码部分?如何破坏重构代码之间的依赖关系?如何确保新的代码能完成预期的工作?如何一次一小步地重构遗留代码?
在这本杰出的书中,只是回答了一些关键的问题。如果非要用一句话总结这本书的精华,那就是&写单元测试,重构代码,确保测试都通过。&
遗留代码不是一个神话,它是一个活着的传奇!在软件行业中没有什么比遗留代码更能经受测试的考验了&&Deepak Karanth
《Code Complete》:软件构建的实用手册
在一个庞大的作品中,如果你想要阅读所有关于编程结构和最佳实践的内容,那么这是本必读书。真正的百科全书式书籍&&其最新版本有多达960页!不要被这本书的厚度吓倒,你可以按照自己的节奏阅读。最后,你会庆幸你阅读了这本书。
书中解释了软件开发的每个方面。从代码结构,代码格式化,到变量、方法和类的命名,再一路说到管理一个团队,对所有一切都提出了实用的建议。
提供了覆盖特定主题的丰富参考和补充材料,这些也非常值得一读。
只有一小部分的软件开发人员会读这本书,所以如果你也是他们中的一个,那么你就有了优势。通过阅读这本书,你就可以获得许多年宝贵经验。
《Head First Design Patterns》
看上去最不像技术的编程书籍!每个页面都包含涂鸦、图片以及其他一些吸引眼球的东西。可能给人的印象是一本阅读起来很轻松的书,但事实上它会讨论编程的一些核心主题&&。
这本书虽然没有覆盖所有存在于这个世界的模式,但是会涵盖所有你可能需要用于解决现实问题的模式。它将帮助你创建功能性的,优雅的,可重用的和灵活 的软件。每个模式的优劣也被明确指出。大多数关于设计模式的书籍谈论的是如何实现模式,但这本书的作者同时还解释了为什么以及怎么样。
最新版本包括针对Java 8的更新&&主要是Lambda。
《Peopleware: Productive Projects and Teams》
很棒的一部作品。这本书并非关于编程。这是一本有关管理和激励程序员的书籍。开发人员也应该阅读。很多时候,开发人员,尤其是那些没有经验的开发人员,不理解管理的思维过程。
软件开发是一个创造性的过程。但是,大多数管理人员把它当作是流水线。开发人员被视为是机器上可替换的齿轮零部件。管理人员普遍性地会给予一个紧迫 的时间期限,当作促进积极性唯一途径。他们对开发人员的工作不感兴趣,甚至可悲的是,他们也不会试着去理解开发人员或他们自己的工艺。
如果你想成为一个想要的是质量,而不仅仅是数量的管理人员,那么请立刻阅读这本书!
作者解释了管理者应该如何以一种可持续的方式使他们的软件开发团队认识到他们的潜力。
《Soft Skills: The Software Developer&s Life Manual》
同样的,这也不是一本关于编程的书。但是,却是每一个程序员都应该阅读的书。
这本伟大的书着重于管理开发人员生活的&其他&方面。可以是你生活的每一个方面&&事业、生活、身体、头脑,以及不管你相信与否&&还有灵魂。
作者他自己也遵循这些技术,并且获得了成功。他的网站上说,他能够在他30出头的时候放弃他的日常工作。该作者将他的生活经验整理成整齐的,主题内 容为Career、Marketing yourself、Learning、Productivity、Finances,
Fitness和Spirit的短章。每个篇章都很短,可以在休息时间阅读,非常方便。
你会是一个更加满意和快乐的人,如果你按照这本书的建议去做的话,那么你将成为一个更令人满意和幸福的人和程序员。
译文链接:
英文原文:
【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
原创原创外电头条外电
24H热文一周话题本月最赞
讲师:1人学习过
讲师:24人学习过
讲师:0人学习过
精选博文论坛热帖下载排行
本书描述了Solaris 10和OpenSolaris内核中所有主要子系统的算法和数据结构,对第1版进行了大幅修订,加入了很多新的内容。全书从头到尾都采...
订阅51CTO邮刊9月第一天,这个月你计划看哪些技术书籍?下面是gkstk小编为大家分享的程序员必读书籍推荐,供大家参考借鉴,欢迎浏览!1、Docker生产环境实践指南【美】Joe Johnston(乔&约翰斯顿)等 (作者)吴佳兴 , 梁晓勇 (译者)本书围绕“Docker该如何应用到生产环境”这一核心问题展开。在本书中,读者将接触到多个IT企业应用Docker到生产环境的成功案例,了解Docker实际投产时将会面临的问题,以及它与现有基础设施存在的矛盾与冲突,了解构建Docker生态系统所需的配套设施,包括安全、构建镜像、持续集成/持续交付、镜像存储、配置管理、网络实现、服务发现、持久化存储以及日志监控等模块具体选型方案及利弊所在。本书编写时一些案例参考的Docker版本是Docker 1.6版本或Docker 1.7。本书要求读者具备一定的容器管理和运维的基础知识,适合在生产环境中使用Docker的相关技术人员阅读,尤其适合具有中高级DevOps和运维背景的读者阅读。2、Web全栈工程师的自我修养余果 (作者)全栈工程师正成为 IT 行业的新秀,无论是上市互联网公司还是创业公司,都对全栈工程师青睐有加。本书作者是腾讯公司高级工程师,在前端、后端和APP开发方面都有丰富的经验,在本书中分享了全栈工程师的技能要求、核心竞争力、未来发展方向、对移动端的思考。除此之外,本书还详细记录了作者从零开始、学习成长的心路历程。3、Python密码学编程【美】Al Sweigart(斯维加特) (作者)李永伦 (译者)本书主要介绍了加密算法,同时从Python编程的角度来引导读者将加密算法更好地实现。书中不仅讲述了详细的算法理论,还附以详细的代码示例帮助读者更好地学习算法,并最终实现加密算法。除此之外,书中还提供了相应的源码下载资源,能够让读者获取到最完整真实的代码示例,帮助读者更好地进行后续的开发和学习。4、七周七Web开发框架【美】Jack Moffitt (作者)张霄 , 邱俊涛 , 孙镌宸 , 顾宇 (译者)本书带领读者认识和学习7种影响现代Web应用并改娈了Web开发方式的框架,以期给Web开发者带来启发和思考。本书延续了同系列的畅销书《七周七语言》、《七周七数据库》的体例和风格。全书共8章,前7章介绍了Sinatra、CanJS、AngularJS,Ring、Webmachine、Yesod和lmmutant共计7种Web开发框架,末章总结回顾了所有的知识点。书中对每一种框架的介绍,都为构建Web应用带来了独特而强大的思路。除此之外,书中还提供了一系列代码示例和在线资源以供参考。本书适合有一定基础的Web开发人员阅读,能够帮助读者拓宽思路,激发更多的设计灵感。5、C专家编程【美】Perter Van Der Linde (作者)徐波 (译者)C语言入门软件开发宝典!《C和C++经典著作 C专家编程Expert C Programming Deep C Secrets》展示了C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。《C和C++经典著作?C专家编程Expert C Programming Deep C Secrets》可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,《C和C++经典著作 C专家编程Expert C Programming Deep C Secrets》可以帮助他们站在C的高度了解和学习C++。6、C陷阱与缺陷【美】Andrew Koenig (作者)高巍 (译者)C语言的“四书五经”之首《C和C++经典著作:C陷阱与缺陷》适合有一定经验的C程序员阅读学习,即便你是C编程高手,《C和C++经典著作:C陷阱与缺陷》也应该成为你的案头必备书籍。作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作《C和C++经典著作:C陷阱与缺陷》的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。《C和C++经典著作:C陷阱与缺陷》分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。结尾,作者用一章的篇幅给出了若干具有实用价值的建议。7、Wireshark网络分析的艺术林沛满 (作者)Wireshark是当前最流行的网络包分析工具。它上手简单,无需培训就可入门。很多棘手的网络问题遇到Wireshark都能迎刃而解。《Wireshark网络分析的艺术》挑选的网络包来自真实场景,经典且接地气。讲解时采用了生活化的语言,力求通俗易懂,以使读者在轻松阅读的过程中,既可以学到实用的网络知识,又能形成解决问题的思路文章出自,转载请保留此链接!。与大多网络图书的课堂式体验不同,阅读《Wireshark网络分析的艺术》的感觉更像在听技术圈的朋友分享经验,除了知识,还有心情和想法。本书的覆盖范围从日常使用的手机App,到企业级的数据中心;从对付运营商的网络劫持,到开发自己的分析工具,不一而足。无论你是系统管理员、实施工程师、技术支持、网管、培训教师,还是开发和测试人员,都适合阅读本书。8、深入理解JavaScript【美】Axel Rauschmayer(罗彻麦尔) (作者)王玉林 , 杜欢 , 庄婷婷 , 章子鹏 (译者)JavaScript是目前Web开发领域非常流行的一种编程语言,得到众多IT从业人员和编程爱好者的关注。本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新特性等内容;第4部分介绍技巧、工具和类库,帮助读者更好地运用JavaScript进行编程。本书内容由浅入深,非常适合想要快速学习JavaScript编程或者深入钻研JavaScript的读者参考。9、JavaScript忍者秘籍【美】John Resig(莱西格)等 (作者)徐涛 (译者)锋利的JS高手精通修炼实战手册jQuery之父John Resig经典力作深入剖析函数 闭包 原型和跨浏览器代码编写JavaScript语言非常重要,相关的技术图书也很多,但没有任何一本书对JavaScript语言的重要部分(函数、闭包和原型)进行深入、全面的介绍,也没有任何一本书讲述跨浏览器代码的编写。本书是jQuery库创始人编写的一本深入剖析JavaScript语言的书。本书共分四个部分,从准入训练、见习训练、忍者训练和火影训练四个层次讲述了逐步成为JavaScript高手的全过程。全书从高级Web应用程序开发者所面临的挑战谈起,由浅入深地覆盖了测试和测试工具、函数、闭包、对象、正则表达式、定时器、运行时代码求值、with语句、跨浏览器问题、元素的特性和属性、事件处理、DOM以及CSS选择器等众多核心话题;将严谨的理论讲解和实用的代码示例相结合,引导读者更加深入地了解JavaScript的神奇,充分展示了JavaScript语言的各种特性。本书适合具备一定的JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索JavaScript语言的读者阅读。10、数据科学实战手册(R+Python)【美】Tony Ojeda(托尼&奥杰德)等 (作者)郝智恒 (译者)这本书是基于R和Python的数据科学项目案例集锦,内容涵盖了基于数据科学的所有要素,包括数据采集、处理、清洗、分析、建模、可视化以及数据产品的搭建。案例包含了汽车数据分析、股票市场建模、社交网络分析、推荐系统、地理信息分析,以及Python代码的计算优化。通过手把手的案例解析,令读者知其然并知其所以然。业界的数据分析师、数据挖掘工程师、数据科学家都可以读一读。想要了解实际工作中如何用数据产生价值的在校学生,或者对数据科学感兴趣的人也值得一读。11、软技能:代码之外的生存指南【美】John Z. Sonmez(约翰 Z. 森梅兹) (作者)王小刚 (译者)软件行业泰斗级人物Martin和软件架构师Hanselman作序推荐凸显技术中人的因素,讲解软件专业的所有软技能John是软件开发人员的人生导师这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你的个人品牌,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。12、Redis实战【美】Josiah L. Carlson(约西亚 L.卡尔森) (作者)黄健宏 (译者)Redis之父作序推荐Redis设计与实现的入门指南邮件列表中极具声望的活跃贡献者Josiah L. Carlson经典作品本书深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。本书一共由三个部分组成。第一部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。第二部分对Redis命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序,并在最后展示了如何使用Redis去构建一个简单的社交网站。第三部分对Redis用户经常会遇到的一些问题进行了介绍,讲解了降低Redis内存占用的方法、扩展Redis性能的方法以及使用Lua语言进行脚本编程的方法。最近更新:免责声明:本文仅代表作者个人观点,与本网无关。看完本文,记得打分哦:很好下载Doc格式文档马上分享给朋友:?知道苹果代表什么吗实用文章,深受网友追捧比较有用,值得网友借鉴没有价值,写作仍需努力相关励志故事:
48小时热门}

我要回帖

更多关于 java程序员必备书籍 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信