她使用的Mark I机在当时是个奇迹,能在一秒钟内进行3次加法运算,这在40年代堪称超高速运算。美国武器系统当时正依赖于快速计算。格蕾丝在MarKI机上工作最困难的经历是为它撰写操作手册。
有一次,格蕾丝使用的MarkⅡ机出了故障。出错的继电器找到了,故障的原因也找到了:里面有一只死蛾子。蛾子被用镊子夹了出来,她们用胶条贴在记录This is the first actual bug found。”(这是发现的第一只虫子。)bug这个词后来成为计算机领域里的一个习惯说法。
她决心证明她能够让计算机做她能够规定的任何工作。到1954年,一个人带来一些函数,他已经算了6个月,让格蕾丝算出前15个导数。18分钟后,她就把导数交给了这个人。格蕾丝证明了:计算机不仅是数学仪器,当进行数值运算时,它控制运算符号,当进行数据处理时,它控制数据处理符号。
1957年,她设计的Flow-matic系统完成了,被称作B--0。这是第一个英语数据处理的编译程序,也是第一个运用词语的计算机语言。后来,Flow-mafic被吸收进Cobol这个广为使用的商业计算机语言,这是格蕾丝的一大贡献。
从1959年开始,格蕾丝和同事一起设计Cobol计算机语言,Cobol使用的句法和术语更接近自然英语。Cobol将程序和数据截然分开,因此,如果编程员要改变程序,他只需要改变前面编写的程序部分,不必全改。这种语言有显著的文件处理能力,它支持顺序文件和直接存取文件,特别适用于管理存储在磁带或磁盘上的大量数据。
1944年2月,世界著名的大型电磁式自动计算机Mark-Ⅰ在美国哈佛大学启动。为这台长15米、高2.4米,自重30多吨的庞然大物编制程序的,是当时为数不多的女程序员之一、海军中尉格蕾丝·霍波(Grace Hopper ,1906-1992)博士。霍波天才的创造和发明,至今仍在广为流传的有两个:一个是计算机界通用的术语“臭虫”(Bug);另一个就是家喻户晓的“千年虫”(Y2K)。她更加辉煌的业绩在于,她是计算机语言领域的开拓者,她被称作“计算机软件之母”。
格蕾丝·霍波1906年出生于美国纽约一个中产家庭,父亲瓦特·莫利(W .Murray)是保险经纪人,祖父是纽约一位资深的工程师。母亲玛丽(H. Mary)虽然是家庭妇女,却很喜欢数学,这一点在当时是受社会舆论支持的,因为人们认为妇女喜欢数学,有利于管理家庭财务。母亲的数学爱好,自然给霍波的成长带来相当大的影响;但她最喜欢的人,却是慈祥的曾祖父亚力山大——美国海军的退休将军,小格蕾丝常常坐在他的腿上,抚摸军服上的各种装饰,瞪大眼睛,听老人讲惊险的战斗故事。这些,可能就是她选择海军作为自己终身职业的原因。
少年霍波是出了名的“假小子”。在家乡温特沃斯湖畔,树木茂盛,湖水清澈,她经常带着两个妹妹一起爬树、划船、游泳、捉迷藏。最像男孩性格的,是这个女孩对什么事情都爱寻根究底,只要发现不了解的东西,总想把它们拆开看个究竟。她母亲清楚地记得,格蕾丝七岁那年,为了弄懂“钟为什么朝一个方向转”的奇怪问题,她把家里的七台钟——从小号的台式钟直到大号的座钟,全部给拆了个七零八落,零件摆满了房间,却无法把它们还原。类似的事情经常发生,也常因此受到母亲的惩罚——罚她在家里挑花刺绣。
一天,她又被关在家中,心烦意乱,泪眼蒙蒙。不知什么时候,父亲已坐在她的身旁。父亲慈爱地摸着她的头说:“孩子,想要做成任何事都必须有耐心,有毅力,还要细心。你妈妈让你学绣花,其实是想培养你的这些品质。”格蕾丝点点头,认为父亲说得在理,从此后,她竭力做到既能“动”又能“静”,并喜欢上了看书和弹钢琴。
霍波的父亲是个很开明的人,他没有男孩,只有三个可爱的女儿,但他希望女儿们也像男孩那样获得受教育的机会,要求她们摆脱传统观念束缚,树立远大的志向,不要依赖父母。不久,他就把大女儿霍波送进了一所私立女子中学。虽然学校要求女学生保持文静的“淑女”形象,可霍波仍坚持体育运动,不仅打篮球,还学会了曲棍球和水球。
就在上中学期间,霍波的家庭发生了变故:她父亲患了动脉硬化症,双腿被切除,家庭的经济骤然紧张起来。母亲勇敢地承担起养家的责任,凭着出色的几何学才能,谋到了一份工作。霍波则一边学习,一边照顾父亲,尽量减轻家庭负担。16岁那年,霍波中学毕业,拉丁文考试没有及格,不能进入大学。父母都没有责备她,他们认为女儿年龄还小,多读一年书没有坏处。于是,她被送进新泽西州一所寄宿学校补习功课,直到第二年秋天才如愿以偿考进韦莎(Vassar)学院就读。
霍波在自然科学,特别是数学和物理方面表现出超群的能力。1928年她获得美国优等生的荣誉。同年,取得数学物理学士学位,留校担任了教师,被聘为韦莎学院的副教授。利用所获得的奖学金,霍波再次考进著名的耶鲁大学深造。1930年,她获得耶鲁大学数学硕士学位;1934年成为耶鲁大学历史上第一位女数学博士。
第二次世界大战爆发是霍波生命中的一个转折点。1943年,满怀着爱国热情,她义无返顾地加入妇女自愿救护组织,放弃了多年奋斗才得到的优裕生活。这时的霍波已是30多岁的中年人,而且有了自己的家庭,但是她坚决要求加入海军,成为一名正式的军人。参军是要经过考试的,无论是身高还是体重,她没有一项合格。霍波才不管这些,死磨硬缠说服了考官,让她进入海军学校学习,并以第一名的成绩毕业。
刚佩上海军中尉肩章,她幸运地被任命为著名计算机专家霍德·艾肯(H.Aiken)博士的助手,参与Mark Ⅰ计算机的研制。她后来回忆说:“我成了世界上第一台大型数字计算机的第三名程序员。”从此,格蕾丝·霍波走上了软件大师的成功之路。
霍波的主要任务是编写程序,她为MarkⅠ,以及后续机器MarkⅡ、Mark Ⅲ编写出大量软件。有趣的是,霍波在软件设计领域的第一项重大“发明”,竟是创造出一个著名的计算机术语——“bug”。1946年,她在发生故障的MarkⅡ计算机的继电器触点里,找到了一只被夹扁的小飞蛾,正是这只小虫子“卡”住了机器的运行。霍波顺手将飞蛾夹在工作笔记里,并诙谐地把程序故障称为“bug”。bug的意思是“臭虫”,而这一奇怪的称呼,后来演变成计算机行业的专业术语。虽然现代电脑再也不可能夹扁任何飞蛾,大家还是习惯地把排除程序故障叫做Debug(除虫)。
在为Mark系列计算机工作期间,霍波也表现出她独有的机智,有一件小事很能说明这一点。那一次,正当她在机器前工作时,突然闯进来一群检查工作的将军。MarkⅠ计算机早不坏晚不坏,偏偏在这时又有“臭虫”作怪,带领将军们参观的艾肯博士,急的顿时变了脸色。只见霍波不慌不忙,斜靠在机器上,用手按着电钮不放,以便让机器能够继续运行。这些将军们离开时一致认为,他们是这台机器没有任何故障的目击者。
战争结束后,带着美国海军的嘉奖令,霍波博士在电脑软件领域建立一系列丰功伟绩:
1949年,她加盟第一台电子计算机ENIAC发明人莫契利和埃克特创办的公司,为世界上第一台储存程序的商业电脑UNIVAC编写了许多软件,开始第一次使用所谓“简短指令代码“。
1952年,在斯佩里·兰德公司兼任系统工程师,她率先研制出世界上第一个编译程序A-O,能够将类似英语的符号代码转换成计算机能够识别的机器指令,并发表了第一篇关于编译器的论文。到了50年代中期,她又开发出Flow-Matic语言,为COBOL高级语言诞生创造了基础。
1959年5月,在五角大楼支持下,她领导着一个工作委员会,成功地研制出第一个商用编程语言COBOL。COBOL语言最重要的特征是语法与英文很接近,可以让不懂电脑的人也能看懂程序;编译器软件只需做少许修改,就能运行于任何类型的电脑。1963年,美国国家标准局将它进行了标准化。用COBOL写作的软件,要比其他语言多得多,霍波博士也因此被誉为计算机语言领域的先驱人物。
50年代计算机存储器非常昂贵,为了节省内存空间,霍波开始采用6位数字来储存日期,即年、月、日各两位。随着COBOL语言的影响日愈扩大,这一习惯做法被人们沿用下来,到2000年前,居然变成了危害甚大的“千年虫”,这当然是霍波始料不及的事。
霍波一生没有子女,但她非常热爱孩子。由于自己的成功来自于刻苦的努力和自小受到的良好教育,所以她特别重视对年青人的教育。她曾经为青年学生作过近千场演讲,讲述计算机的未来,她将在讲演中获得的纪念品和酬金都无偿捐献给了她热爱的海军。她常常对人说:“与其说我的最大贡献是发展了程序设计技术,不如说我培养了大批程序设计人才。”
霍波生活在一个充满变化的时代,为了时刻激励自己创新意识,她在办公室墙上挂了一个逆时针转动的大钟。她也经常告诫青年人,不必害怕困难,必须勇于创新。她坚信,现在的青年会比他们这辈人更勇敢地面对问题。美国海军部门为了照顾她的身体,曾多次动员她退休,但每次都不得不将她重新请回来,因为离开了这位博学多才的软件大师,许多事情根本无法运转。
1985年11月,霍波升为海军将军(少将军衔),她是美国第一个到达这个官阶的女性。由于这超过了美国法律规定的军官服役年龄,美国国会还专门通过了的法案使对霍波的任命合法化。直到1986年,霍波才以80岁高龄从海军退休,继续担任DEC公司资深顾问。在波士顿,美国海军以最高规格为她举行了退休仪式。在告别演说中,霍波将军仍然关注着未来:“我们年青的人民是属于未来的,我们必须为他们创造未来。”
为表彰她对美国海军的卓越贡献,美国海军将一艘驱逐舰命名为“格蕾丝号”;加利福尼亚海军数据处理中心也改称“霍波服务中心”。
1980年,霍波获得国际IEEE组织颁发的首届计算机先驱奖。
1991年,布什总统在白宫授予霍波"全美技术奖",这也是至今美国女性唯一获此殊荣的人。
霍波一生还获得许多殊荣,如计算机科学年度人物奖、国家技术奖等、海军功勋服务奖、国防部卓越服务奖等等。
1971年,为了纪念现代数字计算机诞生25周年,美国计算机学会特别设立了“格蕾丝·霍波奖”,颁发给每年最优秀的30岁以下的青年计算机工作者,因此,“霍波奖”也是全球电脑界“少年英雄”的标志。
格蕾丝·霍波珍惜生命,她希望能够活到94岁,即新世纪来临的那一天。然而,1992年1月1日,女将军在睡梦中再也没有醒来。
在阿灵顿美国国家公墓,霍波的身边放满了勋章和鲜花,她是世界妇女的楷模,也是计算机界备受崇敬的软件大师。