数字界先驱提出解决千年难题方案
【美国《科学美国人》月刊6月号文章】题:千年虫杀手
鲍勃·贝迈尔从半退休的生活中走出来解决计算机2000年问题,这件事
引起了人们的怀旧情绪。贝迈尔是数字界的先驱,他取得了许多成就,其中之一
是帮助确定美国信息交换标准代码(ASCII)的特征,使得那些本来不兼容
的计算机可以交换文本。但是持批评意见的人说,贝迈尔的解决方法虽然巧妙,
但可能为时已晚。
贝迈尔创新性的解决方法“顶点2000(Vertex 2000)”的
独特之处是:它“垂直”扩充日期。贝迈尔认识到,每一个为两位数年份留出的
空间包含有多余的数据位。这一点点多余空间足以携带为表示世纪而增加的信息
。他把纵向扩充的字符“二进位”称为“贝迈尔数位”。这种效率高的方法比通
常用的“横向”扩充法有很大的优越性。横向扩充就是用4位数字表示年份,这
种做法可能使文件很长,结果可能使系统崩溃。
贝迈尔是如何知道他可以将表示世纪的信息挤到现有的表示年份的两位数中
去的呢?他说:“自从1960年以来,我就在从事字符集的研究工作。我吃饭
、睡觉、呼吸和生活都一直同字符集在一起。”
为了加上这些新的二进位,“顶点2000”对目标代码(即机器语言)作
了必要的修改,这样计算机(而不是人)可以轻易地明白。传统的方法对比较容
易理解的大量源代码起作用,这种代码是用计算机语言如COBOL和FORT
RAN写成的。
由于“顶点2000”设定为能够悄悄地、自动地从事这种改变的大部分工
作,贝迈尔断言,他的方法至少比其他解决方法快9倍,费用至少减少一半。他
为了这些可能带来的好处,在得克萨斯州的理查森成立了BMR软件公司。贝迈
尔预计他的生意将兴旺发达,他说:“我们在一种兴奋得有些精神失常的状态下
等待着这一时刻的到来。”
其他的人也精神失常,但是并不兴奋。在深奥难懂的目标代码方面做改变将
使得许多程序员发火,而且并不是每一个人都对二进位喜欢得发疯。马萨诸塞州
弗雷明汉管理支持系统公司的咨询人员利兰·弗里曼说:“贝迈尔做的工作应当
受到人们的尊重,但是他的方法在理论上是如此先进,因此不得不对它是否实际
可行提出疑问。”贝迈尔认为,极端的方法正是各公司现在所需要的。他说:“
要么修改你的目标代码,要么你的生意就垮台。”
但是贝迈尔的确承认,“顶点2000”是一种临时性的解决办法。调整后
的程序一般将慢20%。因此贝迈尔说,各公司应当使用他的方法赢得时间,以
便实行一种永久性的解决办法。

相关文章
头条焦点
精彩导读
关注我们
【查看完整讨论话题】 | 【用户登录】 | 【用户注册】