编程人生

Peter Seibel

出版时间

2011-01-01

ISBN

9787115239075

评分

★★★★★

标签

编程

书籍介绍

界顶尖的程序员是怎么走上编程道路的?

他们的编程工作创造和改变了人类历史,在这一过程中都有哪些经验和教训?

他们对计算机软件行业的过去、现在和未来有什么独到的看法和见解?

他们对培养、发现、选拔、面试优秀的程序员有什么建议?

放下手头的工作,听听这些软件先驱们的故事和建议,眼界可以更开阔,思路可以更清晰,方向可以更明确,人生可以更精彩。

作者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的作者,图灵奖得主。

AI导读
核心看点
  • 15位编程大师访谈实录,涵盖职业成长与行业洞察
  • 分享调试技巧、代码规范及跨平台开发等实战经验
  • 探讨编程语言选择、系统设计理念及人才选拔标准
适合谁读
  • 希望从前辈经验中汲取智慧的软件工程师
  • 对计算机发展史及编程文化感兴趣的读者
  • 寻求职业方向指引与技术视野拓展的开发者
读前提醒
  • 内容基于访谈录音整理,风格偏口语化且篇幅较长
  • 建议按需阅读感兴趣的大牛章节,不必通读全书
  • 关注具体技术观点,忽略部分翻译瑕疵与冗余对话
读者共识
  • 虽被部分读者认为啰嗦,但大牛观点极具启发性
  • 多位大师对C++持批评态度,推崇简洁与实用
  • 阅读源码与独立思考比盲目追随理论更为重要

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "我就是这么学编程的。说白了,就是先鼓捣出一个程序,然后坐在机器前,花上几周时间来一点一滴地改进它。 某领域有位科学家,随着年纪渐长,他的学识和阅历也日渐精深。然后有一天他宣称:“哦,对了,我学过的知识中,有些的确回报很大,但有些从来就没用过。我不会再让我的学生为这些没用的知识浪费时间,也不会再讲授任何底层的基础知识。了解那些强大的理论就足够了,忘掉我是怎么得到它们的吧。” 我认为,各个领域的科学家都会犯这种根本性错误,他们不明白,学一门知识必须全方位、多层次了解,浮沙之上筑不起高台。然而,我们的大脑在完全了解了基础知识后,会把它们都塞进一个不起眼的角落里。所以,那些老学究还真以为自己用不着它们"
  • "现实中,我把自己积攒的几千页资料和习题都写进了书里,这样它们就不会占据我有限的大脑空间。不过我把它们写进书里时,还得在重温一遍。此外,我还在书里提供了习题答案,因为再过十年,我肯定会忘记这些麻烦问题的解法,到那时,我又得花大把时间重新解题,所以我最好还是给自己预留一些基本线索。 对我的书,人们时常持有两种不同评价,这让我感到左右为难。一种评价是:“哎,这部分内容太复杂了,你还是别提它比较好。”另一种评价是:“你这书上的知识都太微不足道了,没什么意思。”对前一种评价我愿意回答:“我干脆什么都别提算了。”对后一种评价我想说:“鄙人实在是太才疏学浅了。” 说到底,对我来说至关重要的是,所有能在半夜纸"
  • "你阅读别人的材料越多,未来开拓创新的能力就越强,至少在我看来是这样。 多种不同形式的编程记法还是有用的——不要只阅读那些编程习惯跟自己一样的家伙的代码。"
  • "不管是面向对象编程,还是函数式编程,不论是基督教还是犹太教,我会吸取其中有用的东西,但是不会全盘接受。 Tony Hoare的图灵奖获奖感言中有一句充满了大智慧的话,讲的是设计一个系统的两种方式:“一种是尽量简单,这样显然不会有什么问题;另外一种是,尽量复杂,这样没什么显然的问题。” 后面说的话同样包含智慧,但是知道的人不多:“第一种方法其实更难。它需要从复杂的自然现象中发现简单物理规律的那种技能、投入、洞察力,甚至是那种灵感,同时还需要你能接受你的目标受限于物理、逻辑和科技的约束,以及在目标间有冲突的时候可以妥协。委员会不会这么做,除非已经完全来不及了,不得不做。”"
  • "编写自己回头还能理解的代码,这点至关重要。 任何东西只要表达恰当,不论精炼,抑或平淡,都是具有美感的。 通常当你第二或第三次剪切粘贴同一段代码时,就得停下来把这段代码抽取成子程序了。 如果你理解不了某件东西的工作原理,那就找做这块的人问。……不知道某件东西并不代表你笨,只是暂时还不知道罢了。 快速掌握别人的代码并弄清楚其用法,这项必备技能变得更加重要。“这个我理解不了,干脆自己写一个”的做法过去很管用。不管这个想法好坏与否,你还是可以去做。但现在,这么做要难得多。 至今我还未看到过真正让人眼前一亮的建造类玩具。真叫人沮丧。"
  • "Well, it was decisions like not using C++ and not using threads that made us ship the product on time. The other big thing was we always shipped all platforms simultaneously; that was another thing they thought was just stupid. "Oh, 90 percent of people are using Windows, so we'll focus on the Windo"
  • "厉害的人从来只愿跟厉害的人一起工作。可能这听起来有点取巧,但这也算是我识别天才的一种方法。"
  • "我认为年轻人有巨大的优势,脑袋瓜更灵光。他们缺的是经验和智慧。我们这些老人们有时候会变得顽固、跟不上节奏,但是有亲自走过一些弯路并从中得到的宝贵经验,可以传授给年轻人。不过年轻人经常不听,非要自己再去走一遍弯路。对这种情况,我只能扼腕叹息。"
作者简介
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

显示全部
用户评论
记录了当今最具个人魅力的15 位软件先驱的编程生涯,包括Donald Knuth、Jamie Zawinski、Joshua Bloch、Ken Thompson等在内的业界传奇人物。
各位,来看上帝(们)啦~
参考大牛们的人生 就当是不同版本的social network吧~
没法评分,无法评价,以后再读
中文名翻译的太苦逼了……
不懂数学和计算机术语的后果就是。。。当出现“健壮的函数”一词,你不知道到底是行业黑话还是翻译错误,哈哈哈哈哈。【update:300页后简单浏览。术语实在太多,一点都不适合零基础入门………感觉非程序员和程序员的区别就像其中一位受访者说的那样:面对一本书,其他人(例如我自己)想着如何从头读到尾,但他会想着如何利用书后索引提炼自己需要的东西。】
选了几位看看,很值得一读。PS: 觉得翻译有点怪怪的,找原文来看了下,感觉读原文乐趣会增加很多。就像Eich这篇吧,原文用词很fancy,翻译出那种神韵还是很困难的。比如他掐Zawinski,说设计模式的拥趸是nemeses(涅墨西斯,希腊神话里的复仇女神,《神谱》有云“对受制于死亡之凡人的折磨”),真是笑死我了。
这样啊!
此书对我最大的价值在于重新确立编程的价值观。此书与编程访谈录的区别在于两点。《人生》作者更喜欢提实操类的问题,《访谈录》提问更多聚焦于专家所在的工作领域;《人生》专家更偏向于计算机科学家,大多侃侃而谈,而非《编程访谈录》里那样,有的是应用开发专家,不善言辞。专家对于以下几个问题的回答对我启发很大: 问题1,优秀程序员的特征;问题2,你经常读的书;问题3,优秀程序员的必备技能;问题4,对于自学计算机科学的人有什么建议;问题5,你如何识别优秀人才;问题6,你如何阅读源码;问题7,如何提高编程水平。
我的偶像就是Ken Thompson,后来去YouTube看Go的步道视频,发现了Brad Fitzpatrick,感觉这哥们长得挺帅的,然后发现他是Go的主程,memcached的作者,Donald Knuth的《计算机程序设计艺术》应该是程序员的一个挑战高峰了。这本书满足了我对各种编程牛人的“八卦”。
下载
收藏