互联网周刊:软件之忧 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2006年11月13日 14:44 互联网周刊 | ||||||||||
|
谁也无法真正说得清楚软件将来会变成什么样。能看到的是,不论学术界还是商业界,大家目前都非常一致的对软件质量投入着巨大热情,同时也寄托着越来越复杂的情绪。 作者:李洋 李紫微 若上联给出“娃挖瓦中蛙”,你会如何对下联?有“人”可以在瞬间作答:“烟掩檐
早在50年前,英国的数学家艾伦·图灵便预言,在21世纪,计算机将可以像人类一样进行“思考”。当然,这个预言到了现在也并没有完全实现。但我们可以看到,随着软件质量的提高,计算如今已经渗透到了各个领域中,而软件的质量、计算水平的高低将直接影响各个领域的发展。 Eric Grimson博士是美国麻省理工学院的教授,也是哈佛医学院和放射学院的博士。他在利用计算技术控制疾病发展、管理疾病方面,研究成果显著。对于一个患了脑瘤的病人来说,周而复始的头痛会令其倍受折磨,但他可能还是不愿接受治疗,害怕手术会影响健康部位,从而留下后遗症。现在,Grimson所研究的软件系统已可以减轻这种担忧。它通过数据建模的方式,为医生实时呈现病人脑内3D结构图像,使其知道从何处开刀可以最准确的完成治疗。 主角之忧 计算已经今非昔比。从Grimson的研究例子中,你可以充分认识到,计算科学已与其他科学缠绕在一起,互相影响。与此同时,软件像包裹在硬件身上的肌肉和皮肤,它的健壮度和完美度,也将直接影响硬件的性能发挥。 回顾计算技术的发展史,软件的地位一直处在不断上升的过程中。以拥有50年历史的磁盘产业为例,曾经决定了该行业发展的磁盘硬件技术,如今同微处理器技术一样,面临着越前行越艰难的境地,因为受到了许多物理学方面的极限挑战。从发明第一块磁盘至今,IBM参与了磁盘业的整个发展过程。而早在三年前,IBM便把磁盘的研发重心从硬件转移至软件,利用虚拟存储等磁盘管理技术来弥补磁盘硬件缓慢的发展问题。“磁盘的未来将由软件决定。”IBM系统与科技事业部的技术专家在接受本刊记者采访时曾如是表示。 但软件的发展似乎总是要比硬件滞后一个阶段。而从“今天输入计算内容,明天才能得到答案”的早期大型机时代,到计算机硬件技术高度发达的现在,软件技术也跨越了几代的更迭。对Pascal等编程语言和数据结构有着卓越贡献的1984年图灵奖得主Niklaus Wirth,总是对软件工程的演变和计算能力的提高感慨万千。 但是,随着计算能力的提高,对软件的要求也越来越高。软件方法的进展很快就被计算任务的复杂程度所吞噬。硬件虽然越来越快,系统却要受制于软件的发展。代码的冗余度、算法的精良,都将直接影响软件质量的高低。“我们已经不再被运行缓慢的硬件所局限,但却受困于我们自己的智能。”Wirth在接受本刊记者采访时这样表示,面对软件工程的未来,他对人类所要攻克的难关显出几分担忧。 以质取胜 沿着Wirth的思路,你便不难理解,为什么一直以来,“提高软件质量”始终是软件产业挂在嘴边的一个热门话题。目前在全球,计算已经由人类活动的一个重要因素转化为核心要素,可靠的、可以安全运行的计算机系统和计算服务受到广泛欢迎,而日益增强的功能性和复杂性也使保障安全运行成为一种挑战。即便在目前的国际学术圈子中,如何提高计算的稳定性及安全性也可以称得上是最热门的话题之一。 你也不难理解,为何在10月24日的清华大学,微软在经历了“计算与你同行”、“无‘数’不在的计算”等一系列主题后,会把第8届“21世纪的计算”会议的主题命名为“‘质’取计算未来”。这个每年一度的国际学术研讨会议是微软总结研究的重头戏,而由于其每年都会邀请一些图灵奖得主来做主题演讲,因此这一会议在某种程度上也反映了当前计算领域的最高水准和最前沿的发展方向。 从强调计算的重要性,回归到“软件质量”的话题,表面上看像在炒冷饭,但却从侧面反映出,目前不论是在学术界还是商业界,大家都非常一致的对提高软件质量投入着巨大热情。 在微软研究院成立15周年之际,专程来北京参加今年“21世纪的计算”大会的微软全球副总裁、微软研究院院长Rick Rashid,就“提高软件质量”这一话题,总结了微软多年来在此方面的工具和成果。比如,能够提高软件性能的BBT技术(原来的LEGO项目)、分析和优化软件Prefix和Prefast、可以保证软件开发质量的SLAM(软件、语音、分析和模型检查项目),以及 ESP(通过可伸缩的程序分析检测错误)等可靠性工具。 “Bug”总是难以避免的,而采用上述的工具可以将错误降到最低。但有些软件的质量问题却不是由程序开发质量造成的,而是由算法和理论本身造成的。“实际上,有时用代码解决不了的问题,用一个巧妙的算法就能轻易解决。”2000年图灵奖得主姚期智博士在接受本刊记者采访时,如是总结计算机理论对于软件质量的重要性。作为目前惟一的华裔图灵奖得主,姚期智曾在美国普林斯顿等诸多国际高等学府任教,现在在清华大学担任高等研究中心全职教授。他在计算机理论及算法方面有着卓越贡献,近日被微软亚洲研究院邀请担任其新成立的理论研究组的顾问。 互联网的效能 “互联网的发展为我们提出了新的科学现象,使得我们现在更致力于讨论这些问题:什么是可靠的知识?怎样在不太有利的互联网环境中,传递可靠的知识?”姚期智认为,目前在网络数据安全及验证方面,还存在着非常广阔的理论研究空间。 互联网的确带来了更多可供研究的软件应用课题。Jim Gray是一位数据库专家,也是微软硅谷研究院院士、1998年图灵奖得主。早在1998年,他便带领其旧金山团队建立了世界上最大的互联网数据库,存储了来自美国及俄罗斯等国家的超过1TB的、经过压缩的地球航空和卫星照片,并建立了可通过Internet访问的门户(www.terraserver.net)。这一功能与目前Google和雅虎所提供的相应地图服务十分类似。在Gray看来,网络数据库应该可以存储更加海量的内容,并更加智能。他对全球化的海量图书馆充满兴趣,比如PubMed,可以让提供此服务的国家在架设于本国的服务器上,看到来自全世界的书刊、论文。Gray认为它在商业和权威性上比维基百科更行之有效。 那么除了工具和理论算法之外,还有什么会对提高软件质量起到立竿见影的作用?微软亚洲研究院院长沈向洋认为,还需要有一些更高明的手段,比如借助互联网。尽管正如姚博士所言,在互联网时代,软件的安全性等方面受到了前所未有的挑战,但是在另一方面,互联网也为更好的研发提供了支持。 沈向洋认为,Web 2.0表现了互联网时代的软件特性:可以搜集集体智能,数据变成了国王。而这些时代特征是研发所不能忽略的,他把基于互联网的研发称作“研发2.0”。也就是说,借助网络这个平台,充分利用社区的优势,在这个最大的社会网络上,使集体智慧得以发挥,互相影响,实现知识的更有效传播。 |

