转载

编程书单推荐:知名程序员的书架

我这一辈子,从不知道哪位智者是根本不读书的——没有,没有一个人。

-- 投资大师芒格

前言

自从开始自学编程以来,就一直希望有人指点该如何逐步的打牢基础,该读哪些书籍来加深对计算机科学的理解。最近,我在网上看到有人整理了一些知名程序员推荐的书籍,他们或是接受采访,或是在自己的博客上,向大家推荐了自己认为最有价值的编程书籍。觉得应该都是不错的选择,所以翻译过来与大家分享。

为什么要读书?

当今,我们时刻被笔记本电脑和iPhone包围,导致忽视了人类历史上最重要的技术之一:默默无闻的书籍。我不确定是不是我的圈子太小,但是我的程序员朋友中,平常读书的人确实很少。恕我直言,真是有点暴殄天物,因为书中提供了让你大幅提升技能的难得机会。

如果有人问你,“你是否愿意付5000美元,请世界上一名最伟大的程序员当你三个月的导师?”你会怎么回答?很可能是“那太好啦!”。但是如果给你同样的选择,只是这次变成支付50美元,但是你必须读书,你还会愿意吗?

阅读一本伟大的书籍,就像被一位伟大的导师呵护教导一样。许多拥有丰富经验的伟大程序员,选择将他们的智慧凝聚到书本这种尽管不太防水,但是可携带性强的载体中,就是为了给你提供阅读的乐趣。你为什么不好好享用这场汇聚集体知识的盛筵呢?

下面是这个领域中一些顶级程序员的建议。请注意,其中一些书籍被反复提及。已添加购买链接。

Joel Spolsky

Joel Spolsky毕业于耶鲁大学计算机系,目前是Fog Creek软件公司的CEO。他的网络日志"Joel谈软件"(Joel on Software)非常有名,读者人数可以排进全世界前100名。

他向大家推荐5本书,分别是:

  • Peopleware: Productive Projects and Teams (人件)
  • Rapid Development: Taming Wild Software Schedules (好像还没有中文版)
  • Code Complete: A Practical Handbook of Software Construction , 2nd Edition (代码大全2)
  • The Pragmatic Programmer: From Journeyman to Master (程序员修炼之道:从小工到专家)
  • The Mythical Man-Month: Essays on Software Engineering (人月神话)

Steve Yegge

Steve Yegge是Amazon的前员工,目前在Google工作,是《程序员的呐喊》一书的作者。

他推荐下面这些书:

  • The Pragmatic Programmer: From Journeyman to Master (程序员修炼之道:从小工到专家)
  • Refactoring: Improving the Design of Existing Code (重构:改善既有代码的设计)
  • Design Patterns: Elements of Reusable Object-Oriented Software (设计模式:可复用面向对象软件的基础)
  • Concurrent Programming in Java: Design Principles and Patterns (好像没有中文版)
  • Mastering Regular Expressions (精通正则表达式(第3版))
  • The Algorithm Design Manual (算法设计手册(第2版))
  • The C Programming Language (C程序设计语言)
  • The Little Schemer (关于Lisp语言的书,没有中文版)
  • Compilers: Principles, Techniques, and Tools (编译原理)

Scott Hanselman

知名黑客。每年都会在自己的博客上,整理推荐Windows平台的软件,博文很受人们推崇。他还运营着一个自己的播客。

他推荐了这些书:

  • Code Complete: A Practical Handbook of Software Construction , 2nd Edition (代码大全2)
  • The Pragmatic Programmer: From Journeyman to Master (程序员修炼之道:从小工到专家)
  • Programming Pearls  (编程珠玑)
  • Refactoring: Improving the Design of Existing Code (重构:改善既有代码的设计)
  • The Design of the UNIX Operating System (UNIX操作系统设计)
  • Design Patterns: Elements of Reusable Object-Oriented Software (设计模式:可复用面向对象软件的基础)

Stack Overflow问答社区上的推荐

  • Code Complete: A Practical Handbook of Software Construction , 2nd Edition (代码大全2)
  • The Pragmatic Programmer: From Journeyman to Master (程序员修炼之道:从小工到专家)
  • Structure and Interpretation of Computer Programs (计算机程序的构造和解释)
  • The C Programming Language (C程序设计语言)
  • Introduction to Algorithms (算法导论)
  • Design Patterns: Elements of Reusable Object-Oriented Software (设计模式:可复用面向对象软件的基础)
  • Refactoring: Improving the Design of Existing Code (重构:改善既有代码的设计)
  • The Mythical Man-Month: Essays on Software Engineering (人月神话)

你会购买哪位导师的书呢?

显然,光读书不会让你成为大师级程序员。要提升技能,你需要的是练习,并且是大量的练习。但是,书籍仍是学习“你不知道你不知道的内容”的最好方式之一。

或许可以考虑下面这个福利?

上面推荐的书籍中,很多都是有PDF版的,如果大家有需要的话,我可以把能找到的PDF打个包在百度云分享。

正文到此结束
Loading...