NASA’s first software engineer: Margaret Hamilton - Matt Porter & Margaret Hamilton

389,640 views ・ 2020-03-05

TED-Ed


請雙擊下方英文字幕播放視頻。

譯者: Lilian Chiu 審譯者: Helen Chang
00:06
At roughly 4pm on July 20, 1969,
0
6761
4529
1969 年七月二十日, 大約下午四點,
00:11
mankind was just minutes away from landing on the surface of the moon.
1
11290
4764
人類只差幾分鐘, 就要降落在月球表面。
00:16
But before the astronauts began their final descent,
2
16054
2680
但,在太空人開始 做最後的下降前,
00:18
an emergency alarm lit up.
3
18734
1980
有一個緊急燈號亮起。
00:20
Something was overloading the computer,
4
20714
2090
有某樣東西造成電腦超負荷,
00:22
and threatened to abort the landing.
5
22804
2700
造成威脅,可能要被迫放棄降落。
00:25
Back on Earth, Margaret Hamilton held her breath.
6
25504
3090
地面上的瑪格麗特·漢密爾頓
摒住了呼吸。
00:28
She'd led the team developing the pioneering in-flight software,
7
28594
3640
她領導的團隊負責開發 開創性的飛行軟體,
00:32
so she knew this mission had no room for error.
8
32234
2930
所以她知道這個任務 沒有一點錯誤發生的空間。
00:35
But the nature of this last-second emergency
9
35164
2450
但,這個最後冒出來的緊急狀況
00:37
would soon prove her software was working exactly as planned.
10
37614
4909
很快就會證明她的軟體 完全依照原先規劃的在運作。
00:42
Born 33 years earlier in Paoli, Indiana, Hamilton had always been inquisitive.
11
42523
5915
三十三年前漢密爾頓 出生在印地安納州的保利,
她向來都很好問。
00:48
In college, she studied mathematics and philosophy,
12
48438
2830
大學時,她讀的是數學和哲學,
00:51
before taking a research position at the Massachusetts Institute of Technology
13
51268
4330
接著在麻省理工學院 取得了一個研究職位,
00:55
to pay for grad school.
14
55598
1706
能支付研究所的學費。
00:57
Here, she encountered her first computer while developing software
15
57304
3610
她在這裡首次接觸到電腦,
開發支援研究混沌理論 這個新領域的軟體。
01:00
to support research into the new field of chaos theory.
16
60914
3830
01:04
Next at MIT's Lincoln Laboratory,
17
64744
2770
接著,在麻省理工學院的 林肯實驗室中,
01:07
Hamilton developed software for America’s first air defense system
18
67514
3625
漢密爾頓為美國的 第一個空中防禦系統,
開發出用來搜尋敵機的軟體。
01:11
to search for enemy aircraft.
19
71139
2050
01:13
But when she heard that renowned engineer Charles Draper
20
73189
3592
但當她聽到知名的工程師 查爾斯·德雷珀
01:16
was looking for help sending mankind to the moon,
21
76781
2570
在找將人類送上月球的幫手時,
01:19
she immediately joined his team.
22
79351
2801
她馬上加入了他的團隊。
01:22
NASA looked to Draper and his group of over 400 engineers
23
82152
3230
美國太空總署指望德雷珀 與他四百多名工程師的團隊
01:25
to invent the first compact digital flight computer,
24
85382
3440
能夠發明出第一台 小型的數位飛行電腦,
01:28
the Apollo Guidance Computer.
25
88822
2290
阿波羅號引導電腦。
01:31
Using input from astronauts,
26
91112
1717
使用太空人輸入的資訊,
01:32
this device would be responsible for guiding, navigating
27
92829
3028
這個裝置就能負責引導、導航,
01:35
and controlling the spacecraft.
28
95857
2514
並控制太空船。
01:38
At a time when unreliable computers filled entire rooms,
29
98371
3519
那個年代的電腦 大到塞滿房間還不夠可靠,
01:41
the AGC needed to operate without any errors,
30
101890
3562
阿波羅號的引導電腦 在運作時必須零失誤,
01:45
and fit in one cubic foot of space.
31
105452
3530
且能放進一立方英呎的空間中。
01:48
Draper divided the lab into two teams,
32
108982
2630
德雷珀把實驗室分成兩個團隊,
01:51
one for designing hardware and one for developing software.
33
111612
3793
一個團隊設計硬體, 另一個團隊開發軟體。
01:55
Hamilton led the team that built the on-board flight software
34
115405
3100
漢密爾頓帶領團隊, 為指令艙及登月艙
01:58
for both the Command and Lunar Modules.
35
118505
2520
打造出機上的飛行軟體。
02:01
This work, for which she coined the term “software engineering,"
36
121025
3610
她為這項賭注很大的工作 取了一個名字,
02:04
was incredibly high stakes.
37
124635
2570
叫做「軟體工程」。
02:07
Human lives were on the line, so every program had to be perfect.
38
127205
4960
成敗悠關人命,因此 每個程式都必須要完美。
02:12
Margaret’s software needed to quickly detect unexpected errors
39
132165
3630
瑪格麗特的軟體必須要能 快速偵測出未預期的錯誤,
02:15
and recover from them in real time.
40
135795
2600
並即時從錯誤中恢復。
02:18
But this kind of adaptable program was difficult to build,
41
138395
3330
但,要打造出適應性 這麼強的軟體很不容易,
02:21
since early software could only process jobs in a predetermined order.
42
141725
4218
因為早期的軟體只能依照 事先排定的順序來執行工作。
02:25
To solve this problem,
43
145943
1427
為了解決這個問題,
02:27
Margaret designed her program to be “asynchronous,”
44
147370
3100
瑪格麗特把她的程式 設計成「非同步」,
02:30
meaning the software's more important jobs would interrupt less important ones.
45
150470
5192
意即,這個軟體會打斷 比較不重要的工作,
先執行更重要的工作。
02:35
Her team assigned every task a unique priority
46
155662
3200
她的團隊針對每件工作任務 指定一個唯一的順序值,
02:38
to ensure that each job occurred in the correct order
47
158862
2769
以確保每個工作 能依照正確的順序,
02:41
and at the right time— regardless of any surprises.
48
161631
4320
在對的時間點進行—— 不論發生什麼意外。
02:45
After this breakthrough,
49
165951
1510
在這項突破之後,
02:47
Margaret realized her software could help the astronauts work
50
167461
3060
瑪格麗特認為她的軟體也能夠協助
02:50
in an asynchronous environment as well.
51
170521
2510
太空人在非同步的環境中工作。
02:53
She designed Priority Displays
52
173031
1528
她設計了「優先順序顯示」, 打斷太空人的日常排程工作任務,
02:54
that would interrupt astronaut’s regularly scheduled tasks
53
174559
2810
02:57
to warn them of emergencies.
54
177369
2020
警告他們緊急狀況。
02:59
The astronaut could then communicate with Mission Control
55
179389
2730
接著,太空人就可以 和任務控制中心溝通,
03:02
to determine the best path forward.
56
182119
2670
決定接下來怎麼做最理想。
03:04
This marked the first time flight software communicated directly—
57
184789
4000
這是史上飛行軟體首次能夠
03:08
and asynchronously— with a pilot.
58
188789
2850
直接、非同步地和飛行員溝通。
03:11
It was these fail safes that triggered the alarms just before the lunar landing.
59
191639
4835
是這些故障安全防護 在降落月球之前觸發了警報。
03:16
Buzz Aldrin quickly realized his mistake—
60
196474
2750
伯茲·艾德林很快 就知道他錯在哪裡——
03:19
he’d inadvertently flipped the rendezvous radar switch.
61
199224
3640
他不經意碰到了會合點雷達開關。
03:22
This radar would be essential on their journey home,
62
202864
2487
這個雷達在回程十分重要,
03:25
but here it was using up vital computational resources.
63
205351
4000
但在此刻,它只會 耗掉重要的計算資源。
03:29
Fortunately, the Apollo Guidance Computer was well equipped to manage this.
64
209351
4889
幸運的是,阿波羅號引導電腦 完全可以處理這個狀況。
03:34
During the overload, the software restart programs
65
214240
2860
在超負荷時,軟體重新啟動程式,
03:37
allowed only the highest priority jobs to be processed—
66
217100
3330
只處理最高優先順序的工作——
03:40
including the programs necessary for landing.
67
220430
2643
包括降落必要的程式。
03:43
The Priority Displays gave the astronauts a choice—
68
223073
3319
「優先順序顯示」 讓太空人有選擇——
03:46
to land or not to land.
69
226392
2550
要降落或不降落。
03:48
With minutes to spare, Mission Control gave the order.
70
228942
4230
只剩幾分鐘可以用, 任務控制中心下了命令。
03:53
The Apollo 11 landing was about the astronauts, Mission Control,
71
233172
3640
阿波羅十一成功登陸要歸功於 各系統能整合成一個系統,
03:56
software and hardware all working together as an integrated system of systems.
72
236812
5509
太空人、任務控制中心、軟體, 及硬體同心協力才能完成。
04:02
Hamilton’s contributions were essential to the work of engineers and scientists
73
242321
4277
甘迺迪總統的登月目標, 鼓舞了工程師和科學進行這項工作,
04:06
inspired by President John F. Kennedy’s goal to reach the Moon.
74
246598
4388
而漢彌爾頓對這項工作功不可沒。
04:10
And her life-saving work went far beyond Apollo 11—
75
250986
3380
她的救命傑作不只用在 阿波羅十一上——
04:14
no bugs were ever found in the in-flight software for any crewed Apollo missions.
76
254366
5892
在任何有飛行員的阿波羅任務中, 飛行軟體從來都沒有出過包。
04:20
After her work on Apollo,
77
260258
1850
完成了阿波羅的工作後,
04:22
Hamilton founded a company that uses its unique universal systems language
78
262108
4214
漢彌爾頓成立了一間公司, 使用其獨特的通用系統語言
04:26
to create breakthroughs for systems and software.
79
266322
3071
來為系統和軟體創造突破。
04:29
In 2003, NASA honored her achievements with the largest financial award
80
269393
5042
美國太空總署認可她的成就,
在 2003 年頒給她 最高金額的個人獎。
04:34
they’d ever given to an individual.
81
274435
2510
04:36
And 47 years after her software first guided astronauts to the moon,
82
276945
4891
在漢彌爾頓的軟體首次引導 太空人上月球之後的四十七年,
04:41
Hamilton was awarded the Presidential Medal of Freedom
83
281836
3500
她又獲頒了總統自由勳章,
04:45
for changing the way we think about technology.
84
285336
3070
因為她改變了我們對科技的看法。
關於本網站

本網站將向您介紹對學習英語有用的 YouTube 視頻。 您將看到來自世界各地的一流教師教授的英語課程。 雙擊每個視頻頁面上顯示的英文字幕,從那裡播放視頻。 字幕與視頻播放同步滾動。 如果您有任何意見或要求,請使用此聯繫表與我們聯繫。

https://forms.gle/WvT1wiN1qDtmnspy7