-
―
如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职
业生涯初期应该读
一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很
多东西。
‖
很多程序员响应,
他们在推荐时也写
下自己的评语。
以前就有国内网友介绍这个程序员
书单,
不过都是推荐数
Top 10
的书。
其实除了前
10
本之
外,
推荐数前
30
左右的书籍都算
p>
经典,
笔者整理编译这个问答贴,
同时摘译
部分推荐人的评语。
下面就按照各本书的推荐数
排列。
1.
《
代码大全
》
史蒂夫
·
迈克康奈尔
< br>
推荐数:
1684
―
优秀的编程实践的百科全书,《<
/p>
代码大全
》注重个人技术,其中所有东西加起来,就
是我们本能所说的
―
编写整洁的代码
‖
。这本书有
50
页在谈论代
码布局。
‖ ——
Joel Spolsky
对于新手来说,
< br>这本书中的观念有点高阶了。
到你准备阅读此书时,
你应
该已经知道并
实践过书中
99%
的观念
。
–
esac
2.
《
程
序员修炼之道
》
推荐数:
1504
对于那些已经学习过编程机制的程
序员来说,
这是一本卓越的书。
或许他们还是在校生,
但对要自己做什么,
还感觉不是很安全。
就像草
图和架构之间的差别。
虽然你在学校课堂上
学到的是画图,
p>
你也可以画的很漂亮,
但如果你觉得你不太知道从哪儿下手,
如果某人要你
独自画一个
P2P
的音乐交换网络图,那这本书就适合你了。
——
Joel
3.
《
计算机程序的构造和解释
》
推荐数:
916
就个人而言,这本书目前为止对我影响醉倒的一本编程书。
《
代码大
全
》、
《
重构
》和《
设计模式
》这些经典书会教给你高效的工作习惯和交易细
节。其他像《
人件集
》、
《计算机编程心理学》和《
人月神话
》这些书会深入
软件开发的心
理层面。其他书籍则处理算法。这些书都有自己所属的位置。
然而《
计算机程序的构造和解释
》与这些不同。这是一本会启发你的书,它会燃起你
编
写出色程序的热情;
它还将教会你认识并欣赏美;
它会让你有种敬畏,
让你难以抑制地渴望
学习更多
的东西。
其他书或许会让你成为一位更出色的程序员,
但此书将
一定会让你成为一
名程序员。
同时,你将会学到其他东西,函数式编程(第三章)、惰性计
算、元编程、虚拟机、解
释器和编译器。
一些人认为此书不适合新手。
p>
个人认为,
虽然我并不完全认同要有一些编程经验才能读
此书,但我还是一定推荐给初学者。毕竟这本书是写给著名的
6.001<
/p>
,是麻省理工学院的入
门编程课程。此书或许需要多做努力(尤其
你在做练习的时候,你也应当如此),但这个价
是对得起这本书的。
你还不确信么?那就读读第
一版的前言或序言。网上有
免费的电子版
。
- Antti Syk?ri
4.
《
C
程
序设计语言
》
推荐数:
774
这本书简洁易读,会教给你三件事:
C
编程语言;如何像程序员一样思考;底层计算
模型。(这对理解
―
底层
‖
非常重要)
——
Nathan
5.
《
算法导论
》
推荐数:
671
《
代码大全
》教你如何正确编程;《
人月神话
》教你如何正确管理;《
p>
设计模式
》教你
如何正确设计
……
在我看来,
代码只是一个工具,
并非精髓。
开发软件的主要部分是创建新算法或重新实
现现有算法。其他部分则像重新
组装乐高砖块或创建
―
管理
‖
层。我依然梦想这样的工作,我
的大部分时间(
>50%
)是在写算法,其他
―
管理<
/p>
‖
细节则留给其他人
……
——
Ran Biron
6.
《
重构:改善既有代码的设计<
/p>
》
推荐数:
617
我想我不得不推荐《
重构
》:改进现有代码的设计。
——
Martin
我必须承认,
我最喜欢的编程语录是出自这本书:
任何一个傻瓜都能写出计算机能理解
的程序,而优秀的程序员却能写出别人能读得懂的程序。
——
Martin Fowler
7.
《
设计模式
》
推荐数:
617
就我而言,
我认为四人帮编著的
p>
《
设计模式
》
是一
本极为有用的书。虽然此书并不像其
他建议一样有关
―
元
‖
编程,
但它强调封
装诸如模式一类的优秀编程技术,
因而鼓励其他人提
出新模式和
反模式(
antipatterns
),并运用于编程对话中。
——
Chris Jester-Young
8.
《
人月神话
》
推荐数:
588
9.
《
计
算机程序设计艺术
》
推荐数:
542
这是高德纳倾注心血写的一本书。
——
Peter Coulton
10.
《
编译原理
< br>》
(龙书)
推荐数:
462
我很奇怪,居然没人提到龙书。<
/p>
(或许已有推荐,我没有看到)。我从没忘过此书的第
一版封面。
此书让我知道了编译器是多么地神奇绝妙。
- DB