编者按:阿波罗飞船导航系统依靠只有8K内存的电脑,帮助飞船成功飞抵月球。
IBM360是最棒的软件之一:没人会否认这点。要是从长远的历史眼光来衡量,何谓“伟大软件”一目了然。然而距离现在越近,你就越难决定哪款软件才能配得上这个称号。
凭借自身洞察力,我排出了一张最伟大软件榜:时间跨度从巨人机诞生的那年到现在。为了制作榜单,我咨询了软件大师詹姆士·兰堡(James Rumbaugh,享誉全球的软件开发方法学大师)、美国计算机学会主席斯图尔特·费尔德曼(Stuart Feldman)、创投资本家安·温布雷德(Ann Winblad)和加里·摩根珊勒(Gary Morgenthaler)、网站脚本软件PHP3.0作者济夫·苏拉斯基(Zeev Suraski)、安迪·古曼兹(Andi Gutmans)和我的弟弟沃利(Wally)。不过这张榜单仍是我个人的榜单。那些觉得榜单充满智慧闪光点、且不失启发意义的人可给我写信。要是你觉得这份榜单有误导之嫌、令人反感或蓄意罔顾事实,请发送消息给沃利,他身高6英尺3英寸,曾是篮球明星,至今仍十分健壮。
我一直对阿波罗飞船(Apollo Spacecraft)的导航系统惊叹不已,该系统是麻省理工学院(MIT)的仪器实验室编写的。1969年,这套系统令阿波罗成功飞抵月球、分离出登月舱并使之成功登陆月球表面,最终使3名宇航员平安返回地球。当时这套系统不得不依靠飞船上内存少得可怜的“雷神”(Raytheon)电脑—该设备只有 8K内存,如今连个打印机程序都使唤不了。在飞船重返大气层时,万一系统失灵,根本没时间重启系统。谢天谢地,当时没有用视窗(Windows)操作系统来导航。
在经验老道的电脑技术员看来,“阿波罗”飞船导航系统似乎不过是例行软件。如今的飞船所用导航系统要复杂得多。“阿波罗”系统的精髓是基于公认逻辑的若干著名算法。但对我而言,这仍然是最尖端的科技。伟大软件的一个优点就是:在所有环节都可能出错的前提下仍能正常工作,这点让我们至今叹为观止。
对于那些因“阿波罗”空间导航系统设计相对简单,而认定其“不过尔尔”者,请问:你宁愿将生活交由处理移动物体的复杂系统来打理么?例如,还记得当年负责丹佛国际机场(Denver International Airport)分拣和运输行李的BAE自动系统软件吧。当机场在1993年正式启用时,该系统造成的遗失或错发、还有在传送带的检查口堆积的行李是如此之多,以至于有关方面被迫将机场正式启用日期推迟了16个月。这给丹佛市带来的损失高达每天1,100万美元。
而且,我们的生活已经被这样的软件掌控。美国联邦航空管理局(The Federal Aviation Administration)斥资上亿美元——不是一次而是3次——试图建立一套有效的空中交通管制系统。到目前为止,这套系统有一半的功能已经被弃用,技术成本总值1.44亿美元,而剩下的一半功能也定期出错和停顿。要说谁才是伟大软件,我宁可坚持选择“阿波罗”导航系统。一款被公认成功的软件,得能胜任原先设计时就希望依靠它完成的工作。
这一公理当然也适用于VisiCalc—世界上第一款电子表格软件。之所以称其伟大是它因为展现出个人计算的威力,赋予大大小小的企业分析和处理海量数据的能力。但尽管它体现出一种突破性概念,VisiCalc本身却无法被定义为伟大软件。
它错误百出而且界面很不友好,无法胜任用户希望它能完成的许多工作。电子表格软件领域的巨大突破并非VisiCalc,甚至不是Lotus 1-2-3[莲花公司(Lotus)1983年所推出的电子表格软件],而是微软公司(Microsoft,下称微软)的Excel,它不但扩展了电子表格软件的能力,并且添加了商务人士能利用的形形色色的计算公式。虽然大众对微软声称它的使命就是创造伟大软件这点尚有争议,但Excel无疑是一款伟大软件。几乎每个人都领教过它的威力。