【葛丽丝·霍普】
1984年的霍普
葛丽丝·穆雷·霍普（Grace Murray Hopper，catIdx=Hopper, Grace），本名葛丽丝·布鲁斯特·穆雷（Grace Brewster Murray），霍普（Hopper）为夫姓，生于美国纽约州纽约市，美国海军准将（Rear admiral）及电脑科学家，世界最早一批的程式设计师之一，也是最早的女性程式设计师之一。她是Harvard Mark I上第一个专职程式设计师，创造了现代第一个编译器A-0 系统，以及第一个高级商用电脑程式语言「COBOL」，被誉为「COBOL 之母」。著名的计算机术语“Debug”（调试排错）便是她的同袍在哈佛二号的继电器上发现一只飞蛾造成短路，才正式成为电脑程式的专有用语。她也是Y2K危机的创造者。她培育出许多程式语言专家，被人称为「不可思议的葛丽丝」（Amazing Grace，双关语）efn|Amazing Grace的典故来自于一个著名英文基督教圣诗，中译为《奇异恩典》。
她是美军第一个获得准将头衔的女性，美国海军驱逐舰霍珀号驱逐舰（USS Hopper (DDG-70)）以她来命名。配置于国家能源研究科学技术机中心（NERSC）的超级电脑Cray XE6，便是以Hopper命名，以表彰她的贡献。耶鲁大学也有霍普学院以纪念之。
==生平==
1960年在UNIVAC键盘前的霍普
霍普出生于纽约市，进大学之前，就读于私立Wardlaw-Hartridge学校。1928年大学毕业于瓦萨学院（Vassar College）并取得数学与物理双学士学位，在校期间也是美国资优学生联谊会（Phi-Beta-Kappa【ΦBK】Society）成员。大学毕业后随即进入耶鲁大学研究所就读，于1930年取得硕士学位，1934年取得数学博士学位。她的论文为《化约算数等式的新标准》（A new Criterion for Reducibility of Algebraic Equations）在期刊New Types of Irreducibility Criteria正式发表。霍普取得博士学位后，回到瓦萨学院任教。
1983年霍普被升为海军准将
1943年，第二次世界大战期间，她志愿加入美国海军后备军团，在WAVES服役。她体重过轻，不符合军方标准，但因战时人力短缺，军方仍然决定让她入伍。
1944年7月，她从位于史密斯学院的预备军官学校毕业。以海军少尉的阶级，加入军方在哈佛大学展开的Harvard Mark I计划，在霍华德·艾肯手下工作，成为在这台电脑上第一个专职程式设计师。9月9日，Harvard Mark II因为不明原因停止运作，葛丽丝·霍普经过仔细检查后，发现是一只飞蛾飞进继电器，造成短路。她将飞蛾的残骸贴在研发记录薄上，说她发现一个bug，造成电脑停止运作。此后，在这个部门中，凡是任何引起电脑停止运作的错误，都被称为「bug」，找出错误则称为「debug」，这形成日后电脑程式错误及除错的名称起源。
为了节省硬体成本，葛丽丝·霍普在Harvard Mark I上，决定以6位数字来储存时间，即年、月、日各两位。这个习惯被COBOL继承，之后传播到其他程式语言及作业系统中，这也是日后Y2K危机的最早起源。
1945年，盟军胜利，第二次世界大战结束。葛丽丝·霍普辞去瓦萨学院的教职，留在哈佛大学，继续研究程式开发。
1949年，进入埃克特-莫奇莱电脑公司（Eckert–Mauchly Computer）公司，担任资深数学家，开发UNIVAC I。1950年，雷明顿兰德公司并购了埃克特-莫奇莱电脑公司，但葛丽丝·霍普仍然继续在这边开发UNIVAC I。
UNIVAC I原本的设计目的，是用来作单纯数值运算，但葛丽丝·霍普发觉这台机器的能耐不止于此。当时程式是直接以机器码方式撰写，她认为可以在UNIVAC I上面开发程式，使人们以接近英文写作的方式来写出程式。她提出开发高阶程式语言的想法，自行著手研究，并四处演讲，寻求经费与支持。1951年至1952年间，葛丽丝·霍普在UNIVAC I上开发出第一套编译器A-0 系统，能将程式原始码编译为机器码。之后又接续开发了A-1与A-2。
1954年，葛丽丝·霍普被任命为自动程式部门的经理。她领导她的部门成员，开发出程式语言MATH-MATIC与FLOW-MATIC。海军采用了FLOW-MATIC，但因为海军旗下的各公司自行发展编译器，使得程式出现不相容。葛丽丝·霍普开发了一套程式Validation，用来确认程式是不是用同一套编译器来编译的，以确保程式运作正常。
1959年，为了解决编译器不一致的问题，在五角大厦的推动下，军方与民间专家召开了CODASYL，由葛丽丝·霍普担任首席技术顾问。在这两天的会议中通过了新的程式语言标准，这就是COBOL的由来。COBOL主要采用FLOW-MATIC的语法，但同时也由IBM发展的COMTRAN语言中采用了一些新的想法。因为COBOL大幅借用了葛丽丝·霍普的原始设计，所以她也被视为是「COBOL 之母」。
1967年至1977年间，美国海军资讯系统计划办公室所属的美国海军程式语言小组，由葛丽丝·霍普担任经理职位。她开发了COBOL验证软体与编译器，成为美国海军COBOL标准化程式的一部份。
1970年代，葛丽丝·霍普提出计划，劝告美国国防部放弃原本集中化的大型中央电脑系统，改成使用许多分散式的小型电脑，电脑与电脑之间以网路连结。小型电脑连上网路之后，就可以存取在网路上共同的资料库。为了保证安全性，她实作了测试电脑系统以及它各个元件的测试标准，多数是针对早期的程式语言，如FORTRAN与COBOL。在1980年代，葛丽丝·霍普提出的测试标准，成为美国国家标准技术研究所采用的预设标准。
1966年，葛丽丝·霍普年届60岁，升任海军中校（Commander）。但因为到达美国军方的服役年龄上限，葛丽丝·霍普依法退休。1967年，在退伍六个月后，因为美国海军部发现他们无法处理那些程式，紧急召回了葛丽丝·霍普，改变原有的规章，让她重新入伍。1971年，葛丽丝·霍普再度退休，但在1972年，美国军方再度召回葛丽丝·霍普。在1973年，在Elmo Zumwalt将军的提名下，她升任海军上校（Captain）。
1983年，在美国众议院的提议下，美国总统雷根通过特别命令，任命葛丽丝·霍普为海军准将。众议院特别批准让她延长服役年限，继续参与军方计划。1986年8月14日，葛丽丝·霍普正式退役，成为美国退伍年纪最大的军人。
在从军方退役之后，葛丽丝·霍普担任迪吉多公司资深顾问，一直到她1992年过世为止。
==家庭==
1930年，与文森·霍普（Vincent Hopper）结婚。文森·霍普后来成为纽约大学教授。1945年，两人离婚。葛丽丝·霍普之后未曾再婚，仍然保持冠夫姓。
1976年，文森·霍普病逝。
==轶事==
1947年9月9日，葛丽丝·霍普的同袍在哈佛二号电脑 (Harvard Mark II) 内发现了第一只真正的bug。 当时哈佛二号老是出错，大家仔细检查程式仍找不出错误，最后才发现原来是一只飞蛾意外飞入电脑内部的继电器而造成短路（如图所示）。他们把这只飞蛾移除后便成功让电脑正常运作，并在日记本中记录下了这一事件。“Bug”（原意为“虫子”）很早以前就用来比喻机器中的瑕疵，经此事件后，才正式成为电脑程式除错的专门用语。现在在华盛顿的美国历史国家博物馆中还可以看到这个遗稿。
第一次被发现的导致计算机错误的飞蛾，也是第一个计算机程序错误
==名言==
霍普留下许多名言。
当她开始自行开发编译器时，并没有得到高层的许可。她说：请求原谅，总是比得到许可更容易。It's always easier to ask forgiveness than it is to get permission.
霍普对年轻人说：停在港口的船很安全，但那不是我们造船的目的。A ship in port is safe, but that is not what ships are built for.
== 脚注 ==
== 参考文献 ==