
本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。
内容简介:
界顶尖的程序员是怎么走上编程道路的?
他们的编程工作创造和改变了人类历史,在这一过程中都有哪些经验和教训?
他们对计算机软件行业的过去、现在和未来有什么独到的看法和见解?
他们对培养、发现、选拔、面试优秀的程序员有什么建议?
放下手头的工作,听听这些软件先驱们的故事和建议,眼界可以更开阔,思路可以更清晰,方向可以更明确,人生可以更精彩。
作者Peter Seibel采访了下面这15位世界级编程大师,本书是他在近80个小时的访谈录音基础上整理汇编而成的。
Jamie Zawinski:Lisp程序员,XEmacs开发者,Netscape浏览器和Mozilla核心开发者。
Brad Fitzpatrick:书中唯一的80后,LiveJournal和memcached开发者。现效力于Google。
Douglas Crockford:JavaScript权威,JSON之父。现任Yahoo架构师。
Brendan Eich:JavaScript之父。Mozilla公司CTO。
Joshua Bloch:如果说Gosling是Java之父,那Bloch就是使Java真正成熟的教父,Java 2到5的核心架构师。现为Google首席Java架构师。
Joe Armstrong:Erlang和OTP(开放电信平台)框架之父。
Simon Peyton Jones:Haskell先驱。ACM会士。现为微软剑桥研究院研究员。
Peter Norvig:Google研发总监。ACM会士。
Guy Steele:精通多门语言,Common Lisp和Scheme开发者之一,Java语言规范作者之一,Common Lisp、Fortran、C、ECMAScript和Scheme等语言标准化委员会成员。高性能科学计算的语言Fortress设计者。ACM会士,美国工程院院士。Sun公司院士。
Dan Ingalls:与Alan Kay合作开发了Smalltalk,是该语言的真正实现者。现为Sun公司杰出工程师。
L. Peter Deutsch:JIT(即时)编译技术发明者之一,PostScript文件浏览器GhostScript的作者。ACM会士。Sun公司院士。
Ken Thompson:图灵奖得主。Unix之父。UTF-8 Unicode编码设计者。
Fran Allen:图灵奖第一位女得主。编译技术公认权威。IEEE院士,ACM会士,美国工程院院士。IBM院士。
Bernie Cosell:Internet奠基人,ARPANET最早的路由计算机IMP设计者之一。
Donald Knuth:多卷本经典巨著《计算机程序设计艺术》的作者,排版软件TeX的作者,图灵奖得主。
作者简介:
Peter Seibel Common Lisp专家,Jolt生产效率大奖图书Practical Common Lisp的作者。耶鲁大学英语专业毕业,后投身于互联网行业,曾负责Mother Jones Magazine和Organic Online的Perl专栏以及WebLogic的Java专栏,并曾在加州大学伯克利分校成人教育学院教授Java编程。2003年辞职专心研究Lisp编程,之后即有了那部Jolt大奖图书。现在他是Gigamonkeys Consulting公司的首席执行官,和家人幸福地生活在加州伯克利。
第1篇 Jamie Zawinski 1
第2篇 Brad Fitzpatrick 37
第3篇 Douglas Crockford 69
第4篇 Brendan Eich 101
第5篇 Joshua Bloch 129
第6篇 Joe Armstrong 157
第7篇 Simon Peyton Jones 185
第8篇 Peter Norvig 221
第9篇 Guy Steele 253
第10篇 Dan Ingalls 289
第11篇 L Peter Deutsch 321
第12篇 Ken Thompson 347
第13篇 Fran Allen 375
第14篇 Bernie Cosell 401
第15篇 Donald Knuth 435
参考书目 471
· · · · · · (收起)
原文摘录:
我就是这么学编程的。说白了,就是先鼓捣出一个程序,然后坐在机器前,花上几周时间来一点一滴地改进它。
某领域有位科学家,随着年纪渐长,他的学识和阅历也日渐精深。然后有一天他宣称:“哦,对了,我学过的知识中,有些的确回报很大,但有些从来就没用过。我不会再让我的学生为这些没用的知识浪费时间,也不会再讲授任何底层的基础知识。了解那些强大的理论就足够了,忘掉我是怎么得到它们的吧。”
我认为,各个领域的科学家都会犯这种根本性错误,他们不明白,学一门知识必须全方位、多层次了解,浮沙之上筑不起高台。然而,我们的大脑在完全了解了基础知识后,会把它们都塞进一个不起眼的角落里。所以,那些老学究还真以为自己用不着它们。 (查看原文)
任平生
2 回复
3赞
2013-04-22 18:54:18
—— 引自章节:15 Donald Knuth
现实中,我把自己积攒的几千页资料和习题都写进了书里,这样它们就不会占据我有限的大脑空间。不过我把它们写进书里时,还得在重温一遍。此外,我还在书里提供了习题答案,因为再过十年,我肯定会忘记这些麻烦问题的解法,到那时,我又得花大把时间重新解题,所以我最好还是给自己预留一些基本线索。
对我的书,人们时常持有两种不同评价,这让我感到左右为难。一种评价是:“哎,这部分内容太复杂了,你还是别提它比较好。”另一种评价是:“你这书上的知识都太微不足道了,没什么意思。”对前一种评价我愿意回答:“我干脆什么都别提算了。”对后一种评价我想说:“鄙人实在是太才疏学浅了。”
说到底,对我来说至关重要的是,所有能在半夜纸篇幅之内解释清楚的精妙知识,我这书里必须得有,所有精彩得让我过目难忘的材料,我也决不会错过。
如果我不写这些书的话,别人查找类似资料的过程可能会困难得多。这正是我不断写作的动力。
另外要提到的一点是,我宁愿以一种最接近编程实践的方式来探索计算机科学领域,也不愿借着发表一些虽有理论意义,却对实际编程毫无用处的东西,去博取学术上的功名。
令我大为惊讶的是,当一个人写书的时候,有些什么东西在潜移默化的影响着、改变着他的表达方式,我甚至不明白它们是怎么做到这一点的。TeX给我带来的最重要的影响就是这样——它改变了我从精神层面看待事物的角度,也由此改变了我的写作风格。我会更自由洒脱,会更全面地看问题,也会对写出来的东西更有把握。
我现在特崇拜那些从事大型软件项目的人——若非亲身实践过,我决不会这么想。
我觉得这句话是条不变的真理:管理者不该认为编程时间是可预测的。
写作的第一要旨是去了解你的读者,……其次,对于科技写作来说,为了加深读者对你作品所表达思想的印象,达到一种前呼后应的效果,你最好能以某种互补的形式,把所有内容说上两遍。
我的程序理应服从我自己的直觉,而不是… (查看原文)
任平生
2 回复
3赞
2013-04-22 18:54:18
—— 引自章节:15 Donald Knuth