那些改变了世界的IT人(3)——格蕾丝·赫柏

格蕾丝·赫柏,计算机业有史以来最杰出女性,Cobol语言设计者,世界上第一个编译程序的作者,第一个商用高级语言COBOL的主要创建者,Bug的“发明者”,千年虫的“始作俑者”,此外还是美国海军第一个女性将军(少将)。

格蕾丝·赫柏是一个传奇人物,她是耶鲁大学第一个女数学博士,曾经的美国海军将军。1946年一个偶然的故障导致了计算机上两个最著名的名词Bug和Debug的出现。事件的原因是在那个早起计算机里一只夹扁了的虫子卡住了触点,导致计算机不能正常工作,在排除了故障后格蕾丝·赫柏在笔记本上写下了“there is a bug”这句话,结果不经意间计算机故障都叫bug了,而与之相对的调试排除故障就是Debug(除虫)。

Grace Hopper当然仅凭一个Bug是不能成为名人的,1952年格蕾丝·赫柏制作了人类历史上第一个编译程序A-O,该软件的特点是能够将类似英语的符号代码转换成计算机能够识别的机器指令。

1959年,格蕾丝·赫柏和同事们开发了人类历史上第一个商用高级语言COBOL。COBOL语言最重要的特征是语法与英文很接近,可以让不懂电脑的人也能看懂程序;编译器软件只需做少许修改,就能运行于任何类型的电脑上,1963年美国国家标准局将COBOL进行了标准化。相比于当时还是凤毛麟角的高级语言,用COBOL写作的软件,要比其他语言多得多,格蕾丝·赫柏也因此被誉为计算机语言的领军人物。

不过即使是格蕾丝·赫柏这样的优秀人物,最终也没有料到COBOL在21世纪初带来了一场空前的计算机故障。原因是格蕾丝·赫柏等人为了节省空间在COBOL中采用了六位日期记录方式,就是采用三组两位数分别记录年月日,比如960312等。结果当时间发展到21世纪时,计算机在991231后不能跳转到2000年,引发了一系列的故障,这就是“千年虫”。值得注意的是引发千年虫的不只是COBOL,由于COBOL当时比较火,很多后发的高级语言都采用了COBOL的六位日期计数法,结果……

有意思的是,1985年11月,格蕾丝·赫柏升为海军将军(少将军衔),她是美国第一个到达这个官阶的女性。由于这超过了美国法律规定的军官服役年龄,美国国会还专门通过了的法案使对霍波的任命合法化。

发表评论

邮箱地址不会被公开。 必填项已用*标注