开发人员必读的11本最具影响力书籍
摘要:对于一个程序员而言,在学校里学不到多少工作中真正需要的知识,只有在工作中实践积累并且看一些优秀的书籍,把实践和理论结合起来才能够更好的工作。尤其是在技术日益发展和变化的今天,每个开发者更应该主动的看书去学习编程技巧并且改变编程方法,才能应付工作中各种复杂的项目。同时也可... 对于一个程序员而言,在学校里学不到多少工作中真正需要的知识,只有在工作中实践积累并且看一些优秀的书籍,把实践和理论结合起来才能够更好的工作。尤其是在技术日益发展和变化的今天,每个开发者更应该主动的看书去学习编程技巧并且改变编程方法,才能应付工作中各种复杂的项目。同时也可以在程序设计中更高效、弹性和准确的解决问题。下面列出了11本对开发人员很有益的书籍,大家可以从中选取感兴趣的进行阅读。
1. 《代码大全》(Code Complete)
第二版的代码大全增加了很多与时俱进的内容,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、以及简单明了的通用概念,当然也含有丰富而典型的程序示例。 评语:引用一位网友的评论:恰恰是这种艺术与科学相互融合的产物带给程序员无比的满足感。老少皆宜的读物,这本书不论对技术大牛、亦或是自学刚入门的程序员都是大有益处的,感兴趣的可以去看看。
2.《程序员修炼之道》(Pragmatic Programmer)
值得一提的是本书是由C语言之父Dennis Ritchie和Brian W. Kernighan共同编写,是一部介绍C语言及程序设计方法的权威性经典著作。本书全面讲述了C语言的各个特性及程序设计方法,配合典型例证,使得本书通俗易懂,实用性强。 评语:该书是学习C语言必读书籍,堪称经典,有C语言的“圣经”美称,其实用性,会让读者爱不释手。
5.《算法导论》(Introduction to Algorithms)
本书全面介绍了计算机算法,涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍,另外也介绍了随机化和线性规划技术的近似算法等。全书还提供了900多个练习题和思考题以及详细的实例研究。 评语:《算法导论》是一本将严谨性和全面性融为一体的算法类书籍,可以与高德纳的《计算机程序设计艺术》相媲美,该著作有点深奥,一朝一夕读不透,建议读者多阅读几遍。
6.《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)
本书揭示了重构的过程,揭示了重构的原理和最佳实践方式,能够帮助你一次一小步的修改你的代码,从而减少了开发过程中的风险。书中还给出了70多个可行的重构,以及指导你何时何地应该开始挖掘代码以求改善。 评语:该著作适合软件开发人员、项目管理人员阅读,读者读完后或许会有醍醐灌顶般感觉,书中蕴含着精华,值得反复咀嚼。
7.《人月神话》(The Mythical Man-Month)
作者Frederick P. Brooks曾荣获图灵奖,本书为人们管理复杂项目提供了颇具洞察力的见解,有发人深省的观点,也有大量软件工程实践,包括作者在IBM公司System 360家族和OS 360中项目管理经验,新的版本中也还有作者对某些观点新的认识、一些精华的提炼、也有大量工程实践,为每个复杂项目的管理者给出了自己的真知灼见。 评语:本著作适合软件开发人员、项目经理、系统分析师等工程管理人士阅读。最好有面向对象经验,此书虽是一本非技术书,但会给你带来很多感触和实用价值。
8.《计算机程序设计艺术》(The Art of Computer Programming)
本书是高德纳(Donald Ervin Knuth)所著,作者曾因三卷书获得美国1974年图灵奖,是20世界最佳12部学术专著之一。本书结合了大量数学知识,分析不同领域中的各种算法,其引入的许多术语、得到的许多结论都变成了计算机领域的标准术语和被广泛引用的结果,此外也描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的应用。 评语:比尔·盖茨曾说过:如果读懂整套书的话,请给他发一份你的简历。通过这句话足以说明该著作对开发者影响是巨大的。属于纯理论级别的,每次翻阅都会有新的收获,可以当“辞海”来读。
9.《代码整洁之道》(Clean Code: A Handbook of Agile Software Craftsmanship)
《编码:隐匿在计算机软硬件背后的语言》是一本讲述计算机工作原理的书,不过不要一听“工作原理”等字眼就认为本书是晦涩难懂的。作者用清晰明了的笔墨把复杂的理论写的通俗易懂,阅读的时候你不会感到枯燥和生硬,同时你也会获得对计算机工作原理深刻的理解。 评语:不知网友有没有看过《明朝那些事儿》这本书?如同这本书把历史写的如同小说一样好看,《编码:隐匿在计算机软硬件背后的语言》这本书也做到了,读完后你会觉得很好玩,同时也能学到真正的知识,加深对计算机科学的理解和认识。 最后:从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了机器语言、汇编语言、面向过程的程序设计语言以及面向对象的程序设计语言阶段。技术的飞速发展,使得开发者只有不断学习,才能提高技术让自己在编程的道路上走的更远。以上推荐的11本书,希望让各位开发者读后受益匪浅。