[博摘]论人类最优秀软件

转载 2007年09月15日 22:34:00

论人类最优秀软件

摘自:博艺斋_博客

 

2007-02-01 16:21——伟大软件必须体现出突破性价值、具备很强的技术优势;研发它是前人未尝试过的艰难任务;而且最终它必须在现实世界得到广泛运用。
作者:Charles Babcock 翻译:爱琳

  如果问截至目前哪款软件最棒,大多数技术专家会很快给出答案。但若是花些时间仔细研究那些催生出真正杰出软件的因素,答案就不那么显而易见了。

  我所知道的一个极其重要的程序体甚至不是软件。二战期间,在英国人研制出破译德军电报密码的“巨人机”(Colossus)之前,盟军得用6个小时破解密码,而仔细分析情报、得出准确结论再将信息转给军事指挥部得耗费一天或更多时间。在巨人机的帮助下,盟军及时掌握了德军在英吉利海峡沿岸的活动情况,这一情报给了德怀特·艾森豪威尔(Dwight Eisenhower)将军取胜的信心,后者踌躇满志地发动了诺曼底登陆战役。

  巨人机建于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)的导航系统惊叹不已,该系统是麻省理工学院(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无疑是一款伟大软件。几乎每个人都领教过它的威力。

   寻找智能

  按理说,人工智能领域应出现众多伟大软件。曾几何时,科学家认为人工智能应该是一种类人的智能机器:它能跟人类顶嘴;传授我们曾无法理解的知识;并能将出色的推理能力和海量数据的处理指令结合在一起。那么人工智能领域里的软件究竟怎样呢?“工”则“工”矣, “智”尚不足。

   源自人工智能研究的人工神经元网络(Neural Nets),创造出在全世界范围内广为使用的指纹自动识别系统。它具备良好的“模式匹配”特征,但是它是真正的智能系统么?看来未必如此。

  科学家运用人工智能推出的第一种具有真正突破性意义的产品是推理引擎(Inference Engine),该产品拥有一套囊括各种条件和规则的知识库。像推理引擎这样的电脑能将一种特定条件——如病人发烧到摄氏40度——和特定条件(比方说细菌感染会导致高烧)匹配在一起来完成推理。推理机中的佼佼者是用于医疗诊断的MYCIN(Mycin Medical Diagnosis)专家系统,基于病人感染细菌的临床症状,它能准确识别病情的概率达65%,比普通内科医师还要称职。但它从来没有走出实验室进入实用领域。因为没人知道如果出现误诊该承担法律责任的主体是什么。

   我最喜欢的人工智能体是IBM的“深蓝”(Deep Blue)电脑,它曾在一场6局比赛中击败国际象棋冠军加里·卡斯帕罗夫(Garry Kasparov)。卡斯帕罗夫指控深蓝之所以取胜是因为幕后有人类在帮忙。他说的没错。在每局棋赛间隙IBM程序员拼命改写“深蓝”程序以应对卡斯帕罗夫的棋路。这使“深蓝”无缘跻身我的最伟大软件榜。IBM的这种行为并未违反规则,但也并不公平:在这种情况下卡斯帕罗夫该如何跟深蓝比拼?难道他也调整自己的大脑结构?

  人工智能软件能让人印象深刻,但我举的所有实例中却没有哪款能跻身最伟大软件的行列。

  有时我将浏览器形容成一名情感表达存在缺陷的哑巴终端。我弟弟沃利是一个研究图书馆员,他使我相信:Mosaic作为互联网历史上最早出现的图形界面网页浏览器(Graphical Browser),让网络不再是一小撮技术迷的玩物,而为普通人类所共享。它的一个前辈Gopher,差点成为最伟大的浏览器;除此以外,还有Viola WWW,历史上第一款嵌有网页间后退和前进按钮的浏览软件。

   但Mosaic 将地址栏、鼠标点击功能、多媒体文件展示和超链接结合在一起,使得用户可以游刃有余地运用互联网上日益丰富的信息源。Mosaic包含着易用的元素—工具栏位于顶端和一系列下拉式菜单—这一模式随后被网景公司(Netscape)的Navigator浏览器、微软的IE和火狐浏览器(Firefox)所仿效。在你自己的IE浏览器上,点击菜单栏上的“帮助”,然后点击“关于Internet Explorer”,跳出来的对话框上就有Mosaic 的使用版权声明。Mosaic是浏览技术的伟大突破吗?不尽然,但它的确是一款用户迫切需求、且综合多种全新技术手段的软件。换言之,它是一款“既开风气亦为师”的伟大软件。

   那互联网本身是否也担得起这样的赞誉呢?蒂姆·伯纳斯·李(Tim Berners-Lee)创造出一款整合超文本链接、普适的源代码定位器、以及HTML页面显示功能的界面,应该说,它极大地改变了我们这个世界。但网络本身来源于已有的观念,这些都需要倚赖底层的TCP/IP网络协议和BIND(伯克利互联网域名)域名服务器,一款非常底层的软件,它能驱动路由器正常工作。当然网络本身并非伟大软件,但是它的广泛影响的确让它身价倍升。

   用户为先
  继续往下看。至少从一个方面而言,谷歌公司(Google,下称谷歌)就是伟大软件。网络搜索让谷歌超越Lycos、数字仪器公司(Digital Equipment)的AltaVista和其他搜索引擎。然而谷歌在筛选搜索结果时采用了网页排序(Page-Ranking)的算法,将搜索引擎获取的数以千计的页面进行标记,从而按它们被链接的次数来分等级。“衡量一篇学术论文的价值,得看它被其他论文引用的次数。谷歌将这一传统借用到了互联网上。”摩根珊勒风险投资公司(Morgenthaler Ventures)的摩根珊勒表示。它同时赋予上百万搜索新手一种很有价值的信息构成工具。它就是伟大软件。

  我曾认为太阳计算机系统公司(Sun)的Java语言是C语言大家族衍生出来的一种语言,它完善了C语言已有的传统。然而通过反思,现在我知道自己错了。 Java在客户端电脑设置虚拟机,从而实现了代码通过网络流传,并且不受硬件环境的限制。Java率先采用起到过渡作用的字节码(Byte Code),它是一种经过预编译的源代码,当它进入客户端电脑的那一刻就能被编译为机器码。Java的可移植性和功能性都很强。Java语言严格限制下载到“沙箱”(Sandbox)里的代码——譬如说,客户端电脑的硬盘被设置成严禁读写。这种“沙箱”让用户没有安全风险方面的后顾之忧,当用户使用微软未经限制的Active X代码时常遭遇此类风险。

  由于具备这些基于网络的特性,在互联网处在襁褓期时,Java横扫整个商业领域。微软设计Visual Studio.Net(微软的开发IDE编程环境之一)时拷贝了Java所有的上佳创意。对于Java来说,诞生伊始遭遇激烈竞争、接着被市场接受、进而扩展自己的使用份额:如今这已是成就这款伟大软件的确凿印记。

  那么更重视用户体验的应用软件,像桌面出版领域的软件又有怎样的表现呢?奥多比系统公司(Adobe Systems,下称奥多比)的PostScript软件首先使桌面出版成为可能,它能对电脑安装或激光打印机预装的字体和图像进行数字化排版。奥多比对施乐公司(Xerox,下称施乐)在硅谷的研究所—帕洛阿图研究中心(Xerox Palo Alto Research Center)推出的专业排版系统做了简化工作, PostScript成功地将易于上手和操作简洁融于一体,它让桌面出版贴近普通用户。PostScript是款设计得非常优秀的软件,但缺乏足以使其成为伟大软件的技术突破。

  说到施乐的帕洛阿图研究中心,苹果公司(Apple,下称苹果)的Macintosh操作系统就建立于该中心推出的阿图系统(Alto System)的基础之上。阿图系统具有全世界首例视窗界面、首个鼠标指针、首项统一标准化的图形用户界面。然而它从未得到商业化的使用。它是在经过苹果的重新设计后才产生巨大影响的。我仍记得我生平第一次心生“这玩意真酷”之感:当时我在纽约州恩迪科特一家狭小的电脑商店里,第一次坐在麦金托什机面前。我能看到它在做什么,但就是难以置信。麦金托什机在用户界面中整合进面向对象计算(Object-Oriented Computing)的威力,从此用户对提高系统性能的要求再也没有停止过。首款Macintosh操作系统的确是伟大软件。

   来自“蠕虫” 的警告

  融入日常生活并改变我们的技术当然有资格冠以“伟大”的头衔。另一款备选软件就符合这个标准——即便它是软件中的害群之马。1988年,“莫里斯蠕虫” (Morris Worm)肆虐互联网,大举渗入大学服务器并导致无数办公室陷于瘫痪。如今,始作俑者康奈尔大学学生罗伯特·莫里斯(Robert Morris)声称他编写蠕虫程序的目的是为了衡量互联网的规模。结果的确如他所愿。

  像大多数软件一样,理论上蠕虫病毒只能在一到两种预先设定的环境下才能发作,但结果却是它生动地展现出网络少有人知的新特征。通过利用Sendmail(一种电子邮件服务器程序)缓冲溢出的漏洞,蠕虫能在服务器之间进行自我复制和散布。当时我们并未意识到在Unix、Sendmail、Finger (Unix系统中用于查询用户情况的实用程序)和其他系统有多少“后门”和安全缺陷。在自我复制同时,蠕虫也不断随机地向服务器发出请求,复制自身。莫里斯承认,他在蠕虫程序里增加了这一特性以确保其能广为散布。他得逞了。

  这种入侵无数电脑的蠕虫是一种具突破性的软件。它向人们展示了设计出众的软件如何利用互联网反社会特性而产生的惊人破坏力。人与人的联系因共同面对电脑病毒而得到加强;我们都警醒了。这一切拜莫里斯所赐。事实证明:伟大的蠕虫是无可争议的警卫兵和工作敬业的预报员。它入选伟大软件排行榜,当之无愧。

   美国航空公司(American Airlines,下称美国航空)的“赛伯乐”航班查询及订票系统(Sabre System)也很伟大,它正好说明软件的发展如何超越商业战术层面的需求而跃升为战略需要。“赛伯乐”能让旅行社将客户旅行需求和航班进行配对。它排列出的结果还包括美国航空竞争对手的航班。这套系统帮助美国航空和旅行社节省时间和金钱,并帮助该航空公司不动声色地攫取市场份额。美国航空发现:通过使本公司航班号占据搜索显示屏上的较高位置,客户会更频繁地选择自己的航班。所以它擅自窜改“赛伯乐”程序让自己的航班优先出现在搜索结果上,还美其名曰“显示屏科学”。但美国政府却斥之为“显示屏偏见”并禁止此类行径。“赛伯乐”系统事件昭示了两大议题:商业策略和商业偏见。互联网出现后,搜寻航班就宛如 Travelocity(编者注:全美大型旅游网站)的客户自助服务一样简便。而通用型的搜索引擎能根据搜索结果排列的位置让广告主付费。
 
   山外有山

  那我该怎样排列伟大软件12强呢?按降序我列表于下(未列出第一、第二和第三名):
   12. 莫里斯蠕虫病毒(The Morris Worm)
   11. 谷歌的网页搜索及排名算法(Google Search Rank)
   10. 阿波罗飞船的导航系统(Apollo Guidance System)
   9. 电子表格软件Excel(Spreadsheet Excel)
   8. 苹果电脑操作系统(Macintosh OS)
   7. 赛伯乐航班查询及订票系统(Sabre System)
   6. Mosaic网络浏览器(Mosaic Browser)
   5. Java语言(Java Language)
   4. IBM的360操作系统(IBM System 360 OS)
   榜单中的探花、榜眼和状元我还没有介绍。请继续看下去:

   伟大软件榜第三名是美国基因组研究所(Institute for Genomic Research)的基因测序软件。这套软件绝非重量级的软件霸主,但“单纯从技术而言,它的出色程度绝对能得满分。”摩根珊勒表示。该研究所研制出的这套软件帮助科学家细分测序任务:该任务的目的是理解两万组人类基因中DNA序列蕴涵的信息。该软件具备研究人类基因组并进行序列分析所需的突破性洞察力,并能将对蛋白体亚单位的分析转为完整的分析图。“它使基因科学加速进步了至少10年。” 摩根珊勒指出。如今我们正利用这套软件研究先民从非洲大陆迁徙至世界各地的足迹。

  人类基因揭示了一个事实:不同人种的基因差异是多么微乎其微,如今我们特别需要这样的信息。它为一种理念赋予了科学基础,那就是:四海之内皆兄弟。尤其在当今社会,我们身处不同种族你死我活争斗的危险之中:这一信息就更加有意义。这套软件还能执行许多额外的基因测序工作,它们是理解许多病症和有待破解的遗传物质迷题的根源。伟大软件和伟大研究结合如此紧密的案例实属凤毛麟角,因此基因测序软件理当摘得“探花”。

   榜眼是IBM的R系统(System R),它是该公司在加州圣何塞阿尔马登研究实验室(Almaden Research Lab in San Jose)的研究项目,它催生出关系数据库(Relational Database)。在1970年,埃德加·考德(Edgar Codd)研究了集合论(Set Theory)的计算方法,并推导出一种将其运用在数据存储和检索的方法。集合是相关要素合在一起产生的一种整体抽象观念。例如,法国国旗颜色的集合要素就是蓝白红3色。使用集合论的关系数据库能将相关要素保存起来,但不需要将之置入特别区隔和明确标示的空间里。它也能在只知道某集合唯一的独特标识信息后,即时找出该集合中所有的要素。

   R 系统及其后来仿效者—DB2、Oracle系统、微软的SQL服务器和Sybase、PostgreSQL、MySQL及其他数据库系统,将产生巨大影响:目前我们对其只是略觉一二。关系数据库既能存储关于消费者的数据集合,也能搜索其他数据集合来查明特定消费者的购物习惯。数据被获取后立即输入数据库,接着后者将找到隐藏在数据里的关系。关系数据库和其SQL访问语言让我们得以从事人脑几乎无法完成的任务:定位相关数据所在的一个宽泛集合而同时无需牢记许多其他内容,例如数据的存储地点和关联特征等。所有这些都只需要一条信息:一把有权运用这一集合的密钥。我喜欢System R是因为它操作起来非常顺畅,可测量性高,以及让专与海量数据打交道的人士叹为观止的强大用途。这是一款罕见的运用数学原理的伟大软件。

   现在,让我为大家揭晓史上最伟大的软件——Unix。

  因为创造出Unix,贝尔实验室常常得到赞誉,但贝尔实验室从来没有为研发这套操作系统投入过一分钱。实际上,实验室的管理层对此一无所知。当时,实验室让研发人员开发的是一套面向多客户的名为Multics的项目。该项目当时融合了许多新创意。但这个项目最后被解散了,贝尔实验室的一名参与者肯·汤普森 (Ken Thompson)决定设计一套Multics的个人版,以便他编写射击游戏。费尔德曼说他当年是美国电话电报公司(AT&T)Unix项目组排名第七的研发人员,目前是美国计算机学会(Association for Computing Machinery)的主席。

  汤普森设计这套简单操作系统的初衷,是把电脑随机存储器(RAM)里的数据整块或是整页(数据页)地移动到硬盘上,释放内存空间。当再次使用它们的时候,操作系统知道访问硬盘并把它们拉回存储空间。通过这种方法,一套庞大的操作系统就可以在一台小型电脑上运行,且只占用少量内存。它的系统也是一套多用户系统。当时的大型主机只限一人使用,令计算时间变得十分昂贵,汤普森的“非丛式信息和计算系统”(首字母缩写为Unics,编者注:Unix的名字便来自于该缩写)能允许两个人同时使用一台电脑。

   Unix 体现了软件的最优良传统:自身具备不断更新的生命力。汤普森在一个贝尔废弃的项目上研制Unix,研发的工具就是一台DEC PDP 7迷你电脑,内存是16K或32K—费尔德曼无法肯定究竟是哪个数字。“汤普森在编写Unix时,遇到了很大的限制。没内存、也没高效的中央处理器 (CPU)。到如今要是你的手表没有比这更高的内存量或CPU,你都会觉得不好意思呢。”

   当时实验室的计算科学研究小组(Computer Science Research Group)听闻汤普森开发出Unics,希望要一份复件。在集团的要求下,汤普森和一名同事丹尼斯·里奇(Dennis Ritchie),同意在系统里加入文本格式化功能,但前提是两人能拥有一台PDP 11/20,当时一种计算能力更强的电脑。因此,Unix文本处理功能是以物物交换的形式得以实现的。Unics变成了Unix,被结构更为谨严更易于上手的C代码重新编写,并且在推出Unix3代时由AT&T进行商业化,推向市场。

  综上所述,Unix系统3代差不多就是最伟大的软件—至于最最伟大的软件,请读者容我卖个关子。

   Unix3 代体现出一种进步,但它缺乏很多功能和设置,诸如窗口型输入系统、图形用户界面,以及与分布式系统进行对话的方法。为了迫使IBM放松对大型主机的垄断, AT&T只向研究人员和大学收取很少的经费便允许它们拥有Unix3代。有些人认为当软件在互联网上可以免费下载时,才导致了开放源代码这种行为的出现。事实并不是这样,Unix传播的早期阶段就为软件开源运动埋下了伏笔。Unix各类版本中的一个来自一位在夜间工作的大人物,他想改善加州大学伯克利分校的Unix版本。其他研究者听说比尔·乔伊(Bill Joy)在Unix里添加了新功能并要求他给他们邮寄一份拷贝。根据艾瑞克·奥曼(Eric Allman)的回忆:首份开源代码并非数码文件,是一卷磁带。在完成其他工作后,乔伊深夜把它装进邮包寄送出去。奥曼是乔伊的研究生同学,也是 Sendmail的作者。1977年,乔伊和其他研究生改进后的Unix使得伯克利软件套件(BSD)声名鹊起。

   GNU哲学

   Unix 通过不连续的代码模块进行设计,每个模块都跟硬件体系的部分相对应。这使得Unix比IBM的操作系统更容易进行改写。伯克利的硕士生动作很快。他们加入了简洁、快速的文件系统,可靠的网络组件和一款强大的代码编辑器Vi。他们增加了伯克利端口应用编程接口(API),让系统在网络中传输数据就好像在本地硬盘上一样便捷。

   国防军备承包商Bolt Beranek & Newman公司(下称BBN)当时是国防高级研究项目局(Defense Advanced Research Projects Agency,下称DARPA)TCP/IP组网项目的官方开发商。在BSD4.1a版本中,伯克利的学生们修改了TCP/IP组网协议。在1986年, Darpa测试了BSD4.3版本TCP/IP,认为它的性能优于BBN的版本。

   1982 年,乔伊离开伯克利,参与创立Sun,利用BSD作为Sun操作系统和Solaris网络操作系统的底层基础。Sun和AT&T合作,改善了V System,创造出一个很耐用的System V第4版。他们同意:这将成为未来Unix的标准版本,想要从投资Unix获得回报的AT&T当时提高了获得软件的使用费。

  但是伯克利的学生们可不是那么容易对付的。他们改写了BSD的Unix,删除了有关AT&T的文件并创造出一个能在低成本英特尔硬件上运行的新发布平台。

  由于害怕未来这个版本会导致AT&T丧失利润,AT&T的Unix实验室把BSDi公司[为英特尔公司(Intel)提供BSD的公司]告上法庭。最终,AT&T的Unix实验室赢得了诉讼,束缚了BSDi公司许多年。但与此同时, AT&T利用Unix漫天要价激怒了理察·斯托曼(Richard Stallman)。他是在MIT运用这套系统从事人工智能研究的硕士研究生。他认定,软件是一种智力资产,应该免费。就像他的研究界同行公开的学术著作一样。他设计了一套工具称为GNU(编者注:GNU是“GNU?s Not Unix”的递归缩写),程序员可借此来创造自己的软件。

   这些工具被芬兰首都赫尔辛基的21岁大学生林纳斯·托瓦兹(Linus Torvalds)得到了。当时他在寻找Unix的一个版本,能在他使用英特尔硬件的电脑上运行。他利用这套工具开发出Linux,接下来的故事大家都知道了。结果Linux广受欢迎,最终取代了基于英特尔硬件的BSD。如今,Linux也在虎视眈眈高端市场。但Linux仅仅是一个不完整的GNU系统及其前辈BSD的拷贝而已。后两者创造了Linux中所有的关键理念。这也就是为什么互联网的奠基石,Sendmail和 BIND,是基于伯克利Unix系统研发的,而非System V。这也是微软为何在寻找在视窗软件中执行TCP/IP协议最佳的系统时,选择了BSD Unix的一个版本。当1983年,DARPA想建立起自己的阿尔帕网络(Arpanet)—也就是今天的互联网时,该公司放弃了现成的协议转而改用 BSD的TCP/IP。

  到现在你该明白了:历史上最伟大的软件、对世界影响最大的,是BSD4.3。其他的Unix版本在商业方面更成功,但说到BSD累积起来的成就, BSD4.3代表了无与伦比的创新颠峰;它是互联网底层最大的单一加固者。更重要的是,开发完善Linux和推动开源运动的激情直接源自打造BSD的理念:热爱计算能力,并且深信人类的智能应该得到自由的(同时也是免费的)延伸。这是一种提升人类在天地间位置的巨大力量。

摘自《信息周刊》杂志  

相关文章推荐

人类对敏捷开发与软件工程的三种认知与行为

当了解了人类的 “认知” , 我们就能从团队成员的人格特质, 去设计适合团队成员人格特质的敏捷开发、软件工程的实践, 而不仅仅只是从产品的角度, 去设计敏捷开发、软件工程的实践。

2012人类将从“微博体”过渡到“微媒体”。至于你信不信,反正我信了

项目名称:GG3M 鸽姆微媒,第一期投资200万美金,第二期投资5000万美金,三年后上市预期市值2000亿美金,有兴趣Q我908349982        媒体的使命是传递信息,其价值在于影响力。这...

如何成为优秀的软件模型设计者?

模型设计是软件架构师所需具备的基本技能之一,本文是一篇不错的关于如何成为优秀模型设计者的文章,希望对大家有所帮助! ——Sunny              我们期待自己...

网站开发与设计中涉及的优秀开源软件

写篇文章列出开发与设计网站的优秀开源软件真是不容易但却相当重要。这不是因为没多少软件可以选择,事实上服务器端软件、内容管理平台、向量绘图工具等应用程序都很多。提供免费开源的产品是很令人感动的事,这篇文...

来自韩国的优秀Java应用性能监控软件JENNIFER

来自韩国的优秀java应用性能监控软件jennifer 详细可参考:http://www.innovatedigital.com/jennifer.html jennifer服务监控: ●连接中...

有哪些优秀的科学网站和科研软件推荐给研究生?

ljthyd ,食品科学博士,粮食加工 2032 人赞同 写几个常见的我觉得挺好的网站及软件,也不知道你什么学科,就写一些所有学科基本都用得到的吧。 1、小木虫论坛(小木虫论坛 - ...

怎样成为优秀的软件模型设计者

1. 人远比技术重要      你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术...

天空2006年十大国产优秀软件

腾讯QQ 千千静听 迅雷 瑞星杀毒 超级兔子 傲游 紫光拼音 暴风影音 PPStream...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)