在微软Windows团队效力十多年的Raymond Chen,是著名Windows轶事和掌故博客The Old New Thing(后来结集为书,有中文版)的作者,文章风趣轻松,又很有信息量。 两天前他的新文章爆料说,当年开发Windows 3.0的时候,盖茨老和开发团队开会,碰项目进度。一次以性能为评审会上他不太满意,抱怨说:你们把时间都花在段调优(具体何指,可读原文)上了, 这玩意儿我教12岁孩子都能干。我要看真正的优化。想当年,我可是在飞机上写FAT系统的。
那位女开发经理也不是吃素的,她回敬:好吧Bill,我们给你一台电脑,Windows源代码都给你,用点你的编程魔力帮我们搞定吧。
盖茨没话了。
这个故事是否属实呢?在Hacker News的讨论里,有人找到维基百科,文献里的确写着DOS里FAT的最初构想是1977年盖茨与微软1号员工Marc MacDonald共同讨论出来的,不过代码写着后者完成。
还有人尖锐指出,那时候上飞机没法带电脑,也没有合适的电脑能带上飞机啊。但这马上遭到老同志的取笑:那时候我们都是在纸上用笔写程序的。这一点我有亲身经历,不要说1977年,80年代中期我迷编程时,因为没太多机会碰计算机,大多数程序的确是先在纸上写出来,等有机会上机再逐字敲进电脑的。事实上,对早期程序员这是很常见的事情。苹果创始人Woz甚至是直接在纸上写十六进制的程序,Apple的BASIC解释器就是这样手写出来的……
当然,FAT结构本身也不算太复杂,盖茨的编程能力也毋庸置疑,情节还是合理的。有评论就说记得那本书里写过他的BASIC加载程序是去新墨西哥的飞机上完成的。何况,历史上急就章的例子还有不少,最有名的要算Brendan Eich十天之内赶了一个语言出来,为了赶时髦,名字还是贴着另一种语言起的,这就是JavaScript。而JUnit就是在万米高空,由设计模式大牛Erich Gamma和极限编程创始人Kent Beck飞机上结对编程捣鼓出来的。