前10名的书籍

鉴于大量有志向的开发者重回学校或转行, 是时候站在开发者的角度看看那些让我们受益匪浅的书籍了.
博客网站"Stackoverflow"发布了一个很有趣的问题: "如果你可以回到过去,为你作为开发者的职业生涯指定一本参考书, 你会选择什么书?".
Stackoverflow上很多资深的网友公布了他们近三年读到的一些书籍, 但是只有几个能入得了我的法眼.
Stackoverflow上最终列出的前10名的书籍如下:

1 <<代码大全>>, 作者:Steve McConnell, 2004年出版.
 这本书覆盖了程序设计的方方面面, 书里面有大量的示例.
2 <<>程序员修炼之道>,作者:Andrew Hunt and David Thomas,1999年出版.
这本书专注于讲如何通过代码解决真实世界中的问题本质.
3 <<计算机程序设计与解释>>(第二版, 1996), 作者:Harold Abelson, Gerald Sussman, and Julie Sussman.
这本书注重讲解如何把大的问题分解各个小的方面,然后各个击破. 这本书被Creative Commons组织授权,可以在网上免费下载.
4 <<C语言程序设计>>(第二版, 1988),作者:Brian Kernighan and Dennis Richie.
这本书不仅是C语言的权威指南,更是一本通用的编程指南. 是我个人的首选书籍.
5 <<算法导论>>,作者:Thomas Cormen, Charles Leiserson, Ronald Rivest, 以及 Clifford Stein.
 这本书教你用恰当的数据结构去快速的解决问题. 在全面性和典型性方面非常值得称赞.
6 <<代码重构>>,作者:Martin Fowler, Kent Beck, John Brant, 以及 William Opdyke(1999).
这本书告诉你如何改进代码的缺陷,把这些代码变成平常人都可以读懂的东西.
7 <<设计模式:可复用面向对象软件的基础>>,作者:Erich Gamma, Richard Helm, Ralph Johnson, 以及 John Vlissides (1994)
这本书基于面向对象技术, 不过我很怀疑这本书为什么会在"开发初级阶段"应该读的书目中, 因为它更适合有一定面向对象设计经验的人.
8 <<人月神话>>, 作者: Frederick Brooks (1995).
软件管理学的经典, 尽管不是一本编程书籍,开发人员也是必须要读的.
9 <<计算机程序设计艺术, 卷1:基础算法>>(3rd Edition, 1997), 作者:Donald Knuth.
卷1和卷3(存储和搜索)无疑是喜欢数学的人的圣经. 卷2("半数值算法")和卷4a("组合算法,枚举和回路")已经出版, 计划出版的还有卷4b("图形和网络算法"), 卷4c(还有可能是4d和4e, ""), 卷5("优化和递归"), 卷6("上下文无关语言"), 以及卷7("编译器技术").
10 <<编译原理>> (2nd Edition, 2006).作者:Alfred Aho, Monica Lam, Ravi Sethi, 以及 Jeffrey Ullman.
 这本书专注讲解编译器, 但是也涉及了一些每个开发者都应该了解的章节.

不知道有没有漏掉哪些书, 我提到过Donald Knuth的卷3, 但是又想到一些其它的.
如果你暂时忘掉开发者的身份,找一些其它种类的书籍. 同样有很多经典可以开阔你的视野,比如 Douglas Hofstadter的<<哥德尔、埃舍尔、巴赫>>(1979),以及Robert Pirsig的<<禅游万里>>.
下面几本书也和开发有关,我很惊讶它们为什么没有上前10的榜单:
<<>代码整洁之道>, 作者:Robert Martin (2008), 这本书强调如何编写整洁,易读的代码去解决现实世界的问题. 它和作者之前的一本
书<<敏捷程序设计>>有很多相似的内容, 也为他的新书<<整洁编码>>铺路.
<<编码的奥秘>>,作者:Charles Petzold (2000), 这本书应该成为所有从事计算机行业的人,无论是否是开发者,都要读的书. 作者在书中讲的都是基础, 并且用了通俗的语言, 涉及的内容包括数字系统, 高级语言, 通用协议,硬件,图形界面等.
对于想从事IT工作的人,下面三本书应该是必读的:
<<企业应用架构模式>>,作者:Martin Fowler (2002). 这本书帮助企业的开发者了解现实世界问题的常见模式, 并深入的探讨每种模式的细节.
<<编程人生>>,作者:Peter Seibel (2009), 这本书通过讲述15个业界大牛的真实故事, 向我们展示了他们是如何执着的追求技术的.
<<人件>>(2nd edition. 1999),作者:Tom DeMarco and Timothy Lister. 这本书着重强调人在软件开发中的作用以及如何把这些人组织起来完成一项工程.
我不敢保证这份书单一定是权威的, 但是, 在你的朋友中如果有开发领域的新手,想成为开发者或者甚至是发烧级别的,送给他们其中的一本,会很有帮助的.
原文链接:
http://www.infoworld.com/t/development-tools/10-must-read-books-developers-171638?page=0,0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值