我这一生,从不知道哪位智者是根本不读书的——没有,没有一我的。html
-- <cite>投资大师芒格</cite>程序员
(为何markdown语法里的外链没有正常显示了?)正则表达式
自从开始自学编程以来,就一直但愿有人指点该如何逐步的打牢基础,该读哪些书籍来加深对计算机科学的理解。最近,我在网上看到有人整理了一些知名程序员推荐的书籍,他们或是接受采访,或是在本身的博客上,向你们推荐了本身认为最有价值的编程书籍。以为应该都是不错的选择,因此翻译过来与你们分享。算法
当今,咱们时刻被笔记本电脑和iPhone包围,致使忽视了人类历史上最重要的技术之一:默默无闻的书籍。我不肯定是否是个人圈子过小,可是个人程序员朋友中,日常读书的人确实不多。恕我直言,真是有点暴殄天物,由于书中提供了让你大幅提高技能的可贵机会。编程
若是有人问你,“你是否愿意付5000美圆,请世界上一名最伟大的程序员当你三个月的导师?”你会怎么回答?极可能是“那太好啦!”。可是若是给你一样的选择,只是此次变成支付50美圆,可是你必须读书,你还会愿意吗?设计模式
阅读一本伟大的书籍,就像被一位伟大的导师呵护教导同样。许多拥有丰富经验的伟大程序员,选择将他们的智慧凝聚到书本这种尽管不太防水,可是可携带性强的载体中,就是为了给你提供阅读的乐趣。你为何很差好享用这场汇汇集体知识的盛筵呢?api
下面是这个领域中一些顶级程序员的建议。请注意,其中一些书籍被反复说起。已添加购买连接。markdown
Joel Spolsky毕业于耶鲁大学计算机系,目前是Fog Creek软件公司的CEO。他的网络日志"Joel谈软件"(Joel on Software)很是有名,读者人数能够排进全世界前100名。网络
他向你们推荐5本书,分别是:学习
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是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语言的书,没有中文版)
知名黑客。每一年都会在本身的博客上,整理推荐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(设计模式:可复用面向对象软件的基础)
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程序设计语言)
Design Patterns: Elements of Reusable Object-Oriented Software(设计模式:可复用面向对象软件的基础)
Refactoring: Improving the Design of Existing Code(重构:改善既有代码的设计)
The Mythical Man-Month: Essays on Software Engineering(人月神话)
显然,光读书不会让你成为大师级程序员。要提高技能,你须要的是练习,而且是大量的练习。可是,书籍还是学习“你不知道你不知道的内容”的最好方式之一。
上面推荐的书籍中,不少都是有PDF版的。可是彷佛不适合在简书上直接放这样的连接,有须要的朋友请看原文。
原文连接:编程派