人类最优秀软件排行榜
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人类最优秀软件排行榜
作者:佚名文章来源:本站原创点击数:1358 更新时间:2007-2-1
伟大软件必须体现出突破性价值、具备很强的技术优势;研发它是前人未尝试过的艰难任务;而且最终它必须在现实世界得到广泛运用。
如果问截至目前哪款软件最棒,大多数技术专家会很快给出答案。但若是花些时间仔细研究那些催生出真正杰出软件的因素,答案就不那么显而易见了。
我所知道的一个极其重要的程序体甚至不是软件。二战期间,在英国人研制出破译德军电报密码的“巨人机”(Col ossus)之前,盟军得用6个小时破解密码,而仔细分析情报、得出准确结论再将信息转给军事指挥部得耗费一天或更多时间。在巨人机的帮助下,盟军及时掌握了德军在英吉利海峡沿岸的活动情况,这一情报给了德怀特•艾森豪威尔(Dwight Eise nhower)将军取胜的信心,后者踌躇满志地发动了诺曼底登陆战役。
巨人机建于1944年,它能在纸质数据带上进行布尔运算。这台机器每小时可“吐”出30英里的数据带。布尔算法的逻辑和这台设备融合在一起。巨人机本身也许是有史以来无法被记录下来的最伟大的软件。
那么这一史实说明什么问题?首先,我们评价伟大软件得有统一标准:应该只在特定历史背景下评判相关软件。伟大软件必须体现出突破性价值、具备很强的技术优势;研发它是前人未尝试过的艰难任务;而且最终它必须在现实世界得到广泛运用。巨人机将旷日持久的
机械运算转变为电子运算——它是现代计算机雏形—并通过提高破译加密电报码速度为军
方提供有价值服务。这个庞然大物为软件发展史翻开了第一页。
另外一款伟大程序就是国际商业机器公司(IBM)的360系统。它诞生于1964年,是世界上第一款通用型电脑操作系统。在弗雷德利克•布鲁克斯(Frederick Brooks)描述360
系统项目开发和管理的著作《人/月神话》[阿狄森•卫斯理专业出版社,1995。编者注:书名中“人/月”是软件开发领域术语,是指一个组织于单位时间内(一个月)开发程序所需的人力资源]中,他率先提出许多我们至今恪守的原理——简洁的软件设计优于复杂的;少数熟练程序员能比一大群熟练程序员取得更多成就等。早在360项目启动前,布鲁克斯就清楚大型软件研发项目中存在太多容易出错的因素。实际上,他是IBM内部360项目的激烈抨击者——尽管最终由他来主导360系统的研发工作。布鲁克斯认为可能导致项目失败的潜在问题有很多。我猜,这是IBM让他来负责这个项目的原因。
这种做法十分明智。布鲁克斯领导的360系统研发组,创造出全球第一套可同时运行不同应用程序的电脑系统。360系统的问世,促使IBM推出一系列大型主机:从原先的370
系列(370 Series)一直发展到如今的z系列(zSeries)。时至今日,这些主机还得落伍地和布鲁克斯的360系统兼容:这让我意识到伟大软件的另外一个品质:它得长久拥有独特优势,无法被轻易取代。
何为“伟大软件”?
IBM360是最棒的软件之一:没人会否认这点。要是从长远的历史眼光来衡量,何谓“伟大软件”一目了然。然而距离现在越近,你就越难决定哪款软件才能配得上这个称号。
凭借自身洞察力,我排出了一张最伟大软件榜:时间跨度从巨人机诞生的那年到现在。为了制作榜单,我咨询了软件大师詹姆士•兰堡(James Rumbaugh,享誉全球的软件开发方法学大师)、美国计算机学会主席斯图尔特•费尔德曼(Stuart Feldman)、创投资本家安•温布雷德(Ann Winblad)和加里•摩根珊勒(Gary Morgenthaler)、网站脚本软件PHP3.0作者济夫•苏拉斯基(Zeev Suraski)、安迪•古曼兹(Andi Gutmans)和我的弟弟沃利(Wally)。不过这张榜单仍是我个人的榜单。那些觉得榜单充满智慧闪光点、且不失启发意义的人可给我写信。要是你觉得这份榜单有误导之嫌、令人反感或蓄意罔顾事实,请发送消息给沃利,他身高6英尺3英寸,曾是篮球明星,至今仍十分健壮。
我一直对阿波罗飞船(Apollo Spacecraft)的导航系统惊叹不已,该系统是麻省理工学院(M IT)的仪器实验室编写的。1969年,这套系统令阿波罗成功飞抵月球、分离出登月舱并使之成功登陆月球表面,最终使3名宇航员平安返回地球。当时这套系统不得不依靠飞船上内存少得可怜的“雷神”(Raytheon)电脑—该设备只有8K内存,如今连个打印机程序都使唤不了。在飞船重返大气层时,万一系统失灵,根本没时间重启系统。谢天谢地,当时没有用视窗(W indows)操作系统来导航。
在经验老道的电脑技术员看来,“阿波罗”飞船导航系统似乎不过是例行软件。如今的飞船所用导航系统要复杂得多。“阿波罗”系统的精髓是基于公认逻辑的若干著名算法。但对我
而言,这仍然是最尖端的科技。伟大软件的一个优点就是:在所有环节都可能出错的前提下仍能正常工作,这点让我们至今叹为观止。
对于那些因“阿波罗”空间导航系统设计相对简单,而认定其“不过尔尔”者,请问:你宁愿将生活交由处理移动物体的复杂系统来打理么?例如,还记得当年负责丹佛国际机场(De nver International Airport)分拣和运输行李的BAE自动系统软件吧。当机场在1993年正式启用时,该系统造成的遗失或错发、还有在传送带的检查口堆积的行李是如此之多,以至于有关方面被迫将机场正式启用日期推迟了16个月。这给丹佛市带来的损失高达每天
1,100万美元。
而且,我们的生活已经被这样的软件掌控。美国联邦航空管理局(The Federal Aviation A dministration)斥资上亿美元——不是一次而是3次——试图建立一套有效的空中交通管制系统。到目前为止,这套系统有一半的功能已经被弃用,技术成本总值1.44亿美元,而剩下的一半功能也定期出错和停顿。要说谁才是伟大软件,我宁可坚持选择“阿波罗”导航系统。一款被公认成功的软件,得能胜任原先设计时就希望依靠它完成的工作。
这一公理当然也适用于VisiCalc—世界上第一款电子表格软件。之所以称其伟大是它因为展现出个人计算的威力,赋予大大小小的企业分析和处理海量数据的能力。但尽管它体现出一种突破性概念,VisiCalc本身却无法被定义为伟大软件。它错误百出而且界面很不友好,无法胜任用户希望它能完成的许多工作。电子表格软件领域的巨大突破并非VisiCalc,甚至