开发人员必读的11本最具影响力书籍
jopen 13年前
<p> 英文原文:<a href="/misc/goto?guid=4958327432709537225" target="_blank">11 Most Influential Books Every Programmer / Developer Must Read</a></p> <p> 对于一个程序员而言,在学校里学不到多少工作中真正需要的知识,只有在工作中实践积累并且看一些优秀的书籍,把实践和理论结合起来才能够更好的 工作。尤其是在技术日益发展和变化的今天,每个开发者更应该主动的看书去学习编程技巧并且改变编程方法,才能应付工作中各种复杂的项目。同时也可以在程序 设计中更高效、弹性和准确的解决问题。下面列出了 11 本对开发人员很有益的书籍,大家可以从中选取感兴趣的进行阅读。</p> <p> <strong>1. 《代码大全》(Code Complete)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/e4e986babfaf8845ce665cded235a595.jpg" width="131" height="160" /></p> <p> 第二版的代码大全增加了很多与时俱进的内容,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、以及简单明了的通用概念,当然也含有丰富而典型的程序示例。</p> <p> <strong>评语:</strong>引用一位网友的评论:恰恰是这种艺术与科学相互融合的产物带给程序员无比的满足感。老少皆宜的读物,这本书不论对技术大牛、亦或是自学刚入门的程序员都是大有益处的,感兴趣的可以去看看。</p> <p> <strong>2. 《程序员修炼之道》(Pragmatic Programmer)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/1cabca0de4244ad9b4c0130fcc2752cf.jpg" width="127" height="160" /></p> <p> 中文名翻译的很形象,这是一本介绍软件开发中日益增长的规范和技术技巧的书籍,即根据需求,创建用户乐于接受的、可工作和易维护的代码,保持代码灵活和易于改编重用的架构技术。另外也有防止软件变质、提高编写灵活、避免相同设计、以及对代码防护等内容。</p> <p> <strong>评语:</strong>一本可以提高程序员实效性的书籍,这本书对有一定代码量和项目经验的人能引起共鸣,你看完后会反思:程序为什么要这么设计?怎么才能写出更好的程序?如何才能在编程中少走不必要的弯路?推荐一些技术大牛阅读。</p> <p> <strong>3. 《计算机程序设计与解释》(Structure and Interpretation of Computer Programs)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/64fb22fd54aedaaaf6ecc396b4f1e3e0.jpg" width="107" height="160" /></p> <p> 该书被世界各地 100 多所院校用作教材,其中包括美国斯坦福大学、英国牛津大学、日本东京大学等。在修订版中,作者根据十余年的教学实践,对大部分重要设计系统都重新修改并做 过测试,包括各种解释器和编译器。涵盖面很广,从数据抽象、过程抽象、迭代、高阶函数等编程到数据结构和算法。</p> <p> <strong>评语:</strong>每一位技术大牛都应该阅读这本书。因为本书清晰、简洁和富于才智,适合那些深刻理解计算机科学的人们。</p> <p> <strong>4. 《C程序设计语言》(C Programming Language 2nd Edition)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/fc8dd4ba5bde69870120c3457a31b257.jpg" width="121" height="160" /></p> <p> 值得一提的是本书是由C语言之父 Dennis Ritchie 和 Brian W. Kernighan 共同编写,是一部介绍C语言及程序设计方法的权威性经典著作。本书全面讲述了C语言的各个特性及程序设计方法,配合典型例证,使得本书通俗易懂,实用性强。</p> <p> <strong>评语:</strong>该书是学习C语言必读书籍,堪称经典,有C语言的“圣经”美称,其实用性,会让读者爱不释手。</p> <p> <strong>5. 《算法导论》(Introduction to Algorithms)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/546bdf158407be98dcc495e8e07f434b.jpg" width="142" height="160" /></p> <p> 本书全面介绍了计算机算法,涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍,另外也介绍了随机化和线性规划技术的近似算法等。全书还提供了 900 多个练习题和思考题以及详细的实例研究。</p> <p> <strong>评语</strong>:《算法导论》是一本将严谨性和全面性融为一体的算法类书籍,可以与高德纳的《计算机程序设计艺术》相媲美,该著作有点深奥,一朝一夕读不透,建议读者多阅读几遍。</p> <p> <strong>6. 《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/9fb60e44f8a50309c02a5e5af39634d2.jpg" width="120" height="160" /></p> <p> 本书揭示了重构的过程,揭示了重构的原理和最佳实践方式,能够帮助你一次一小步的修改你的代码,从而减少了开发过程中的风险。书中还给出了 70 多个可行的重构,以及指导你何时何地应该开始挖掘代码以求改善。</p> <p> <strong>评语:</strong>该著作适合软件开发人员、项目管理人员阅读,读者读完后或许会有醍醐灌顶般感觉,书中蕴含着精华,值得反复咀嚼。</p> <p> <strong>7. 《人月神话》(The Mythical Man-Month)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/d7956d0e2617898e0d158383b0f8c79b.jpg" width="108" height="160" /></p> <p> 作者 Frederick P. Brooks 曾荣获图灵奖,本书为人们管理复杂项目提供了颇具洞察力的见解,有发人深省的观点,也有大量软件工程实践,包括作者在 IBM 公司 System 360 家族和 OS 360 中项目管理经验,新的版本中也还有作者对某些观点新的认识、一些精华的提炼、也有大量工程实践,为每个复杂项目的管理者给出了自己的真知灼见。</p> <p> <strong>评语:</strong>本著作适合软件开发人员、项目经理、系统分析师等工程管理人士阅读。最好有面向对象经验,此书虽是一本非技术书,但会给你带来很多感触和实用价值。</p> <p> <strong>8. 《计算机程序设计艺术》(The Art of Computer Programming)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/19911e60e55e5193d114a08144cbc241.jpg" width="110" height="160" /></p> <p> 本书是<a href="/misc/goto?guid=4958327433522834718" target="_blank">高德纳</a>(Donald Ervin Knuth)所著,作者曾因三卷书获得美国 1974 年图灵奖,是 20 世界最佳 12 部学术专著之一。本书结合了大量数学知识,分析不同领域中的各种算法,其引入的许多术语、得到的许多结论都变成了计算机领域的标准术语和被广泛引用的结 果,此外也描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的应用。</p> <p> <strong>评语:</strong>比尔·盖茨曾说过:如果读懂整套书的话,请给他发一份你的简历。通过这句话足以说明该著作对开发者影响是巨大的。属于纯理论级别的,每次翻阅都会有新的收获,可以当“辞海”来读。</p> <p> <strong>9. 《代码整洁之道》(Clean Code: A Handbook of Agile Software Craftsmanship)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/728add8cf3e0e866025bbf3871a8e3f3.jpg" width="120" height="160" /></p> <p> 软件质量,不仅依赖于架构及项目管理,也与代码质量相关。本书给出了一系列行之有效的整洁代码操作实践,并用来自现实项目的正、反两面来例证,只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。</p> <p> <strong>评语:</strong>该著作适合老程序员、技术经理。有网友惊呼“早几年看到这本书,也许现在水平能再上一个台阶。”,因此有一定经验和对编程认识到位的人,读完此书将得到更多。</p> <p> <strong>10. 《编程人生》(Coders at Work: Reflections on the Craft of Programming)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/cd3da7c0adc76e91e448720ed8b44077.jpg" width="104" height="160" /></p> <p> 世界顶尖的程序员是怎么走上编程道路的?他们编程工作创造和改变了人类历史,在这一过程中有什么经验和教训?更有什么独到的看法?本书是一本访 谈录,记录了当今最具个人魅力的 15 位软件先驱的编程生涯,为我们讲述了他们是怎么学习编程的,以及在学习当中发现了什么,有什么看法?并对诸如应该如何设计软件等困扰程序员的老话题谈了自 己的看法。</p> <p> <strong>评语:</strong>适合所有程序员。看完这本书的读者,或许职业眼界会更开阔,不会再做无谓的码农劳动。</p> <p> <strong>11. 《编码:隐匿在计算机软硬件背后的语言》(CODE: The Hidden Language of Computer Hardware and Software)</strong></p> <p style="text-align:center;"><img border="0" alt="开发人员必读的11本最具影响力书籍" src="https://simg.open-open.com/show/551dba94045a953c9a6f8400f3a703bd.jpg" width="104" height="160" /></p> <p> 《编码:隐匿在计算机软硬件背后的语言》是一本讲述计算机工作原理的书,不过不要一听“工作原理”等字眼就认为本书是晦涩难懂的。作者用清晰明了的笔墨把复杂的理论写的通俗易懂,阅读的时候你不会感到枯燥和生硬,同时你也会获得对计算机工作原理深刻的理解。</p> <p> <strong>评语:</strong>不知网友有没有看过《明朝那些事儿》这本书?如同这本书把历史写的如同小说一样好看,《编码:隐匿在计算机软硬件背后的语言》这本书也做到了,读完后你会觉得很好玩,同时也能学到真正的知识,加深对计算机科学的理解和认识。</p> <p> <strong>最后:</strong>从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了机器语言、汇编语言、面 向过程的程序设计语言以及面向对象的程序设计语言阶段。技术的飞速发展,使得开发者只有不断学习,才能提高技术让自己在编程的道路上走的更远。以上推荐的 11 本书,希望让各位开发者读后受益匪浅。<br /> </p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958327434317102813" target="_blank">CSDN</a> </div> <p></p>