(第一,第二,第三部分)
“Coders at Work”,对15 位顶级程序员的采访, 总共600页。 看似冗长的问答中有不少精辟的言论。 我摘录了一些关于挑选,面试程序员,优秀程序员的特点,和程序设计的句子。下面是 最后 3 个程序员的心得,和我的几句解释:
Coder | What they say about good | My interpretation |
Fran Allen first woman winner of Turing |
Software process: did software-development process save the IBM/360 project? it's was absolutely necessary, but good programmer: basic threshold: find out what if they can't get enthusiastic about something, they're not going to get charged up in a group. |
软件流程: 因为IBM/360 项目的软件部分遇到了很大的困难,那时候还没有什么成文的 "软件工程", Fred Brooks 把管硬件的经理们调来,让他们来管软件部门, 因为硬件是一个相对成熟的产业 - 芯片设计,测试,等等。 这些“不懂软件”的同志们参考硬件产业, 建立了软件工程的基本流程。 从一个成熟的产业中学习,是很有效的办法。 现在我们还可以从软件工程的一些术语中看到硬件的影子 - 例如 smoke test 冒烟测试。 好的程序员: 热情 (前面 Ken 同学也谈到了这一点) |
Bernie Cosell czar of PDP-1 pioneer of APPANET, the core of
|
advice to programmer: write a lot of programs. there is very few inherently hard programs are meant to be read. avoid premature optimization find talented programmers: whether they have the kind of [carefully chosen] puzzle can |
给程序员的建议: 写很多程序。 世界上难的问题/程序很少, 如果一个人的代码看起来很难,这通常意味着程序员没有想清楚。 如果你必须用很复杂的代码,把它包装起来。 程序是用来给人读的。 避免过早优化。 优秀程序员: 应聘者有没有刨根问底,好奇心, 准确的思维? 能快速地学习么? 是否对很多东西都有兴趣? 是否有很广泛的基础? [仔细挑选的] 智力题能让你看到应聘者是如何组织材料,解决问题的。 |
Donald Knuth TAOCP, TeX and METAFONT,
|
How I learn programming – Q: Should every programmer be A: I sometimes wonder if I can but even an algorithm like a what do you use? i use an ordinary binary search |
... |
邹欣
原贴地址:http://yishan.cc/blogs/xin/archive/2009/12/26/coders-at-work-iv.aspx