Margaret Hamilton has died
本文为原文前 6,000 字符的节选翻译,完整内容请查看原文。
Margaret Hamilton has died
Margaret Hamilton, a profoundly influential computer scientist best known for leading the software engineering team at MIT’s Instrumentation Lab during NASA’s Apollo program, died on Sep. 30. She was 90.
玛格丽特·汉密尔顿(Margaret Hamilton)是一位极具影响力的计算机科学家,以在NASA阿波罗计划期间领导麻省理工学院(MIT)仪器实验室的软件工程团队而闻名,她于9月30日去世,享年90岁。
A computing pioneer who authored over 130 publications, Hamilton helped to establish software engineering as a dedicated discipline. She worked at MIT from 1959 until the mid-1970s, after which she became a successful computing entrepreneur and CEO.
作为一位撰写了130多篇出版物的计算先驱,汉密尔顿帮助将软件工程确立为一门专门的学科。她从1959年到70年代中期在麻省理工学院工作,此后成为了一名成功的计算领域企业家和首席执行官。
Her life’s work was recognized with many awards and honors, including the 2016 Presidential Medal of Freedom from President Barack Obama, whose citation noted: “Hamilton defined new forms of software engineering and helped launch an industry that would forever change human history. Her software architecture led to giant leaps for humankind, writing the code that helped America set foot on the moon.”
她毕生的工作获得了许多奖项和荣誉,包括2016年巴拉克·奥巴马总统颁发的总统自由勋章。奥巴马在颁奖词中指出:“汉密尔顿定义了软件工程的新形式,并帮助开创了一个将永远改变人类历史的行业。她的软件架构引领了人类的巨大飞跃,编写的代码帮助美国登上了月球。”
“To say Margaret Hamilton was a pioneer — to say she was ahead of her time — would be a dramatic understatement. She was a software engineer at a time when that field was in its infancy, and she not only developed advanced code herself but also led a team in using that nascent technology to develop one of the most complex systems humanity had ever achieved,” says Olivier de Weck, the Apollo Program Professor and interim head of the MIT Department Aeronautics and Astronautics.
“说玛格丽特·汉密尔顿是一位先驱,说她超越了时代,都远远不足以形容她。在软件工程领域尚处于萌芽阶段时,她不仅亲自开发了先进的代码,还带领团队利用这种新兴技术开发了人类有史以来最复杂的系统之一,”麻省理工学院航空航天系阿波罗计划教授兼临时系主任奥利维尔·德·韦克(Olivier de Weck)表示。
“The Apollo program still stands as one of our greatest testaments to the power of collaboration, ingenuity, and engineering, and Margaret Hamilton was a fundamental contributor to that program’s success. And for her that was just the beginning! She went on to become an entrepreneur and remained on the cutting edge of systems software throughout an extraordinary career, while acting as an advocate, mentor, and inspiration to millions.”
“阿波罗计划至今仍是我们对协作、独创性和工程力量最伟大的见证之一,而玛格丽特·汉密尔顿是该计划成功的根本贡献者。对她而言,这仅仅是个开始!她在非凡的职业生涯中继续成为一名企业家,始终处于系统软件的最前沿,同时担任着数百万人的倡导者、导师和灵感来源。”
Early life and projects at MIT
早年生活与麻省理工学院的项目
Born in Paoli, Indiana, in 1936, Hamilton began studying mathematics at the University of Michigan in 1955 before transferring to Earlham College, where she earned a BA in mathematics with a minor in philosophy in 1958. She moved to Boston, Massachusetts, in 1959 with her husband while he pursued a law degree.
汉密尔顿1936年出生于印第安纳州保利,1955年开始在密歇根大学学习数学,随后转入厄勒姆学院(Earlham College),并于1958年获得数学学士学位,辅修哲学。1959年,她随丈夫搬到马萨诸塞州波士顿,当时她的丈夫正在攻读法律学位。
Hamilton soon found a temporary position in the meteorology department at MIT, working with professor of meteorology Edward N. Lorenz SM ’43, ScD ’48 on weather prediction software. This was her first entry point into computer programming, and her work would go on to inform Lorenz’s future publications on chaos theory.
汉密尔顿很快在麻省理工学院气象系找到了一份临时工作,与气象学教授爱德华·N·洛伦兹(Edward N. Lorenz,1943年获硕士学位,1948年获科学博士学位)合作开发天气预报软件。这是她进入计算机编程领域的起点,她的工作后来为洛伦兹关于混沌理论的未来出版物提供了参考。
From there, Hamilton took a role as a programmer at MIT Lincoln Laboratory in 1961, working on the Semi-Automatic Ground Environment (SAGE) project, the United States’ first air defense system. Hamilton wrote software for the prototype AN/FSQ-7 computer (XD-1), used by the U.S. Air Force to search for potentially unfriendly aircraft. During this time, Hamilton began to take an interest in software reliability — a new and largely unexplored concept at the time.
此后,汉密尔顿于1961年在麻省理工学院林肯实验室担任程序员,参与了美国第一个防空系统——半自动地面防空系统(SAGE)项目。汉密尔顿为原型机AN/FSQ-7计算机(XD-1)编写了软件,该计算机被美国空军用于搜索潜在的不友好飞行器。在此期间,汉密尔顿开始对软件可靠性产生兴趣——这在当时是一个全新的、很大程度上未被探索的概念。
In 1965 Hamilton was preparing to pursue graduate studies when her husband saw an advertisement in the newspaper: The Instrumentation Lab at MIT was seeking people to develop software to “send man to the moon.” The lab had won the contract from NASA to build the onboard flight software for the Apollo program. Intrigued by the challenge, Hamilton applied, and was hired as the first programmer for the Apollo project at MIT, as well as the first female programmer in the project.
1965年,汉密尔顿正准备攻读研究生,她的丈夫在报纸上看到一则广告:麻省理工学院仪器实验室正在招募人员开发“将人类送上月球”的软件。该实验室赢得了NASA的合同,负责为阿波罗计划构建机载飞行软件。被这一挑战所吸引,汉密尔顿提交了申请,并被聘为麻省理工学院阿波罗项目的首位程序员,也是该项目中第一位女性程序员。
Hamilton worked first on the software for the uncrewed Apollo missions and then was promoted into leading the team developing the on-board flight software for the crewed missions. By 1968 she was assistant director in charge of the Command and Service Module team, and more than 400 people were working on Apollo’s software.
汉密尔顿最初负责无人阿波罗任务的软件工作,随后被提拔为领导团队,开发载人任务的机载飞行软件。到1968年,她已担任负责指令舱和服务舱团队的助理主任,当时有400多人致力于阿波罗软件的开发。
“From my own perspective, the software experience itself (designing it, developing it, evolving it, watching it perform and learning from it for future systems) was at least as exciting as the events surrounding the mission,” Hamilton told MIT News in 2009. “There was no second chance. We knew that. We took our work seriously, many of us beginning this journey while still in our 20s. Coming up with solutions and new ideas was an adventure. Dedication and commitment were a given. Mutual respect was across the board. Because software was a mystery, a black box, upper management gave us total freedom and trust. We had to find a way, and we did. Looking back, we were the luckiest people in the world; there was no choice but to be pioneers.”
“从我个人的角度来看,软件本身的体验(设计、开发、演进、观察其运行并从中学习以用于未来系统)至少与任务本身一样令人兴奋,”汉密尔顿在2009年告诉《麻省理工学院新闻》。“没有第二次机会。我们深知这一点。我们认真对待工作,我们许多人在20多岁时就开始了这段旅程。提出解决方案和新想法是一场冒险。奉献和承诺是理所当然的。相互尊重是普遍存在的。因为软件当时是一个谜,一个黑匣子,高层管理人员给了我们完全的自由和信任。我们必须找到出路,我们也确实做到了。回首往事,我们是世界上最幸运的人;除了成为先驱,别无选择。”
“Defensive” programming and priority-driven software take humans to the moon
“防御性”编程与优先级驱动软件将人类送上月球
Hamilton discovered a talent for leadership, as well as a keen instinct for problem-solving and critical thinking that would prove to save Project Apollo several times over.
汉密尔顿发现了自己的领导才能,以及敏锐的问题解决直觉和批判性思维,这些能力后来被证明多次拯救了阿波罗计划。
There was the incident that became known as “the Lauren error”: One day, her daughter Lauren, then four years old, was playing with the command module simulator at the Instrumentation Lab when she somehow activated a pre-launch program, called P01, while the simulator was in midflight — which crashed the simulator altogether. Hamilton created a program add-on in the technical documentation warning users not to launch P01 during flight.
曾发生过一起被称为“劳伦错误”(the Lauren error)的事件:一天,她当时四岁的女儿劳伦在仪器实验室玩指令舱模拟器时,在模拟器处于飞行状态下不知何故启动了一个名为P01的发射前程序,导致模拟器彻底崩溃。汉密尔顿在技术文档中创建了一个程序插件,警告用户不要在飞行过程中启动P01。
She also proposed a software fix to prevent the error happening during a real mission, but she was overruled on the grounds that the highly trained astronauts were never going to make that same mistake. Yet during the Apollo 8 mission in 1968, that’s exactly what happened: Jim Lovell inadvertently launched P01 during the flight, causing the on-flight navigational data to vanish. Hamilton and her team were called in to solve the error, and after that her proposed changes were integrated into the program. This was an early example of “defensive” programming, the practice of building software that could anticipate or fix errors on its own.
她还提出了一种软件修复方案以防止在实际任务中发生该错误,但被否决了,理由是训练有素的宇航员绝不会犯同样的错误。然而,在1968年的阿波罗8号任务中,情况恰恰如此:吉姆·洛威尔(Jim Lovell)在飞行中无意中启动了P01,导致飞行导航数据消失。汉密尔顿和她的团队被召集来解决这个错误,此后她提出的修改建议被整合到了程序中。这是“防御性”编程的一个早期例子,即构建能够预见或自行修复错误的软件。
Hamilton’s most famous contribution to the Apollo program came during the pivotal Apollo 11 mission to land on the moon in Ju
汉密尔顿对阿波罗计划最著名的贡献发生在阿波罗11号登月任务的关键时刻,当时在7月