说说哪本书是对程序员最有影响、每个程序员都该阅读的书?

简介: 网上有很多关于程序员必读的书单,感觉都不是很有代表性。今天无意看到了一篇总结还算不错的书单。和园友们分享。以下书单中提到的书看过一部分,给我的感觉是经典就是经典。读过之后确实得到了很多东西,它们都潜在的影响着我。

网上有很多关于程序员必读的书单,感觉都不是很有代表性。今天无意看到了一篇总结还算不错的书单。和园友们分享。以下书单中提到的书看过一部分,给我的感觉是经典就是经典。读过之后确实得到了很多东西,它们都潜在的影响着我。透过书更能感受到的是一种思想,理性,透过经典,能得到质的升华。

另如果园友有好书、何不一起分享进步

以下是原文:

哪本书是对程序员最有影响、每个程序员都该阅读的书?

 

国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code Complete》被顶了1306次。如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才,但我相信大多数人都知道,你在学校里根本学不到什么真正的工作中需要的知识,我们毕业后能帮助我们在公司中胜任工作的老师就是这些优秀的书籍,一本好书可以改变一个人的一生。

下面是这个调查中排名靠前的书的一个简单的清单:

  1. 第一名:1306票《Code Complete (2nd Ed) by Steve McConnell》,中文版《代码大全(第二版)》,两届Software Jolt Award震撼大奖得主!
    cover
  2. 第二名:1161票 《The Pragmatic Programmer》,中文版《程序员修炼之道
    The Pragmatic Programmer
  3. 第三名:689票 《Structure and Interpretation of Computer Programs》,中文版《计算机程序的构造和解释》
    Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
  4. 第四名:557票 《The C Programming Language》,中文版《C程序设计语言
    The C Programming Language Book
  5. 第五名:472票 《Refactoring: Improving the Design of Existing Code》,中文版《重构:改善既有代码的设计
    Refactoring: Improving the Design of Existing Code
  6. 第六名:472票 《Introduction to algorithms》,中文版《算法导论
    Introduction to algorithms cover image
  7. 第七名:430票 《The Mythical Man-Month》,中文版《人月神话
    The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
  8. 第八名:426票 《Design Patterns》,中文版《设计模式
  9. 第九名:386票 《The Art of Computer Programming(First Volume Hardcover)》,中文版《计算机程序设计艺术第 (第一卷)
    http://wkee.net/qee/wordpress/wp-content/uploads/2011/03/75dd9_programming_41T1XCAEE1L.jpg
  10. 第10名:353票 《Compilers: Principles, Techniques, and Tools 》,中文版《编译原理
    Compilers: Principles, Techniques, and Tools (2nd Edition)
  11. 第11名:329票 《Head-First Design Patterns》,中文版《Head First 设计模式

当然了,这里的排名并不具有什么权威性,但绝对可以说都是好书,这11本外还有很多书虽然票数不是那么多,但大家估计都耳熟能详,比如《Effective C++》(中文版《Effective C++:改善程序与设计的55个具体做法》),《Clean Code》(中文版《代码整洁之道》),《Effective Java》(中文版《Effective Java中文版(第2版)》等 。

记得有位先哲曾说过:一种编程语言的重要性并不在于语言本身,而是在于这种语言来体现出来的编程思维模式。所以说,并不是你用到的书才去读,读书是一种习惯。

[本文英文原文链接:What is the single most influential book every programmer should read? ]

 

本文链接http://www.aqee.net/what-is-the-single-most-influential-book-every-programmer-should-read/

 

 

以下是园友推荐书单欢迎补充、点评

敏捷软件开发

 园友:IlikeCnBlogs
 链接: http://home.cnblogs.com/u/368629/feed/blog/
敏捷软件开发 
副标题: 原则、模式与实践
作者: (美)Robert C·Martin 邓辉 孟岩 审
译者: 邓辉
出版社: 清华大学出版社
出版年: 2003-09-01
页数: 476

内容简介   · · · · · · 

  《敏捷软件开发:原则模式与实践》由享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。1.讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目;2.使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程;3.包含了极具价值的可多次使用的C++和JAVA源代码;4.重点讲述了如何使用UML和设计模式解决面向客户系统的问题。
目录
相关文章
|
6月前
|
设计模式 算法 程序员
程序员为何需要反复修改Bug?探寻代码编写中的挑战与现实
作为开发者,我们在日常开发过程中,往往会遇到反复修改bug的情况,而且不能一次性把代码写的完美无瑕,其实开发项目是一项复杂而富有挑战性的任务,即使经验丰富的程序员也难以在一次性编写完美无瑕地完成代码,我个人觉得一次性写好代码是不可能完成的事情。虽然在设计之初已经尽力思考全面,并在实际操作中力求精确,但程序员仍然需要花费大量时间和精力来调试和修复Bug。那么本文就来分享程序员需要反复修改Bug的原因,以及在开发中所面临的复杂性与挑战。
174 1
程序员为何需要反复修改Bug?探寻代码编写中的挑战与现实
|
敏捷开发 前端开发 开发者
想要成为软件开发中的王者,需要明白的 21 条准则
想要成为软件开发中的王者,需要明白的 21 条准则
|
6月前
|
人工智能 算法 前端开发
想转行IT,有前途嘛?30个详细理由中会得到你想要的答案
想转行IT,有前途嘛?30个详细理由中会得到你想要的答案
124 0
|
新零售 移动开发 人工智能
程序员写好技术文章的几点小技巧
去年成为了内网技术分享平台的年度作者,受邀写一篇关于“如何写好文章”的文章。我本身并不喜欢写字,去年写的几篇文章,涉及的话题自带流量,所以阅读量多了一些,谈不上有多擅长。不过还是决定分享一下自己在写文章时用到的一些小技巧,希望对大家有帮助。
程序员写好技术文章的几点小技巧
|
程序员
软技能,程序员编程之外的升值之道!
程序员,除了编码之外的软技能有哪些呢?《软技能——代码之外的生存指南》33岁实现职业自由、财富自由的作者给出了解读。
6456 0
软技能,程序员编程之外的升值之道!
|
算法 安全 程序员
良好的程序员与优秀的程序员究竟有何差异?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 如果写代码是一门科学,那么所有开发人员的表现几乎没有区别。 但事实并非如此。 如同一门艺术,在朝着同一结果努力时,两个开发人员不会有同样的思维或认知。
良好的程序员与优秀的程序员究竟有何差异?
|
测试技术 程序员
那些会阻碍程序员成长的细节[1]
罗马非一日建成,软件系统也不是一天能够写出来的,在经年累月的编码生活中,总会有那么些个不经意的瞬间暴露出来,而这些不经意的外在表现日积月累,犹如水滴石穿,会产生巨大的力量反作用于程序员的成长。我简单列了几条,你来看一看,兴许就在身边实实在在发生过。
1134 0
|
Java 程序员 应用服务中间件
影响程序员生涯的三个错误观念,你千万不要犯!
程序员在社会上,到底是怎样一个生活群体?是否能找到自己方向?其实,路一直都在那里,只是你看不到而已! 当初的你,可能一直被一些技术牵着鼻子走,并不是自己在做着自己想做的,而是被技术推到了现在这样子。
1243 0
下一篇
无影云桌面