首先我们看看这9位优秀程序员是哪些人:
Linus Torvalds :Linux内核 的作者。(编辑注:他的LinkedIn主页在这里 )
Dave Thomas :"Pragmatic Programmer ", "Programming Ruby "还有其他一些关于编程的优秀书籍的作者,可以从这里 学习一下他的编程思想。
David Heinemeier Hansson :一个新热门的web开发框架Rails Framework 的作者(注:“新热门的”指的是2006年,即采访原文发布的那段时期),他的博客在这里 。(编辑注:David Heinemeier Hansson被称为DHH,这里提到的热门框架即“Ruby on Rails”,他是37signals 的合伙人之一,也是《重来 》一书的联合作者)
Steve Yegge :也许是这些人当中名气最小的,但是他给出了一些有趣的回复,他有一个非常受欢迎的关于编程的博客 ,同时,他也是一款名为“Wyvern”的游戏的作者。
Peter Norvig :Google搜索总监,有名的Lisper,关于AI的著名书籍的作者,他的主页在这里 。(编辑注:他的LinkedIn主页在这里 )
Guido Van Rossum :Python 语言的创造者。
Bjarne Stroustrup :C++语言的创造者,他的主页在这里 。
James Gosling :Java 语言的创造者。
Tim Bray :XML和Atom规范的作者之一,他的博客在这里 。
以下是原作者提出的10个问题,我对感兴趣的几个问题的回复做了一些概括:
Q1:你是怎么学习编程的?学校有什么帮助吗?还是你没有在任何学校毕业?
回复: 多位程序员提到,主要是自学编程,但是在学校提供的课程还是很有用的帮助,在一些基础概念(如复杂性分析)方面,建议如果有条件的话,最好还是能够取得学位证书。
Dave Thomas回复中提到: “我仍然在学习编程”,好的程序员不是学习一个新的语言和类库,而是年复一年的完善技术实力与实践。 Tim Bray则提到曾经是想当一名数学老师,在大学里的数学课程需要一些计算机课程。
Q2:你认为每个程序员需要掌握的最重要的技能是什么?
回复: 书写和语言表达能力、品味、强烈的价值感知、专注、热情、理解问题与解决问题的能力、直觉。
Q3:你认为数学或物理能力对于程序员来说重要吗?为什么?
回复: 有些人认为很重要,离散数学。有些人认为完全不重要。
Q4:你认为计算机编程领域的下一个大事件是什么?X-oriented编程、Y语言、并行计算还是什么?
回复: 可能是web应用、大规模分布式进程、CG,大部分人认为不会有特别巨大的变化,可能随着硬件的提高编程能够变得更简单。
Q5:如果你有三个月的时间去学习一个相对较新的技术,你会选择什么?
回复: Dojo、FPGA、Cocoa、Javascript、flash、3D渲染、安全、加密、数字签名等。
Q6:你认为让某些程序员的效率10倍甚至100倍于其他人的原因是什么?
Q7:你最喜欢的工具(操作系统,编程/脚本语言,文本编辑器,版本控制系统,shell,数据库引擎,其他你无法离开的工具)是什么?为什么更喜欢这个工具?
Q8:你最喜欢的计算机编程相关的书是什么?
Q9:你最喜欢的与计算机编程无关的书是什么?
Q10:你最喜欢的乐队或表演者或作曲家是谁?