无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

NASA把55年前登月代碼甩上GitHub,程序員看完集體沉默

0
分享至


1969年7月20日,阿姆斯特朗踩下那一步時,支撐他的不是勇氣,是6萬行匯編代碼。這些代碼最近被NASA工程師Chris Garry完整甩上GitHub,公共領(lǐng)域,隨便下,隨便改。Virtual AGC項目和MIT博物館花了幾年時間,把MIT博物館里發(fā)黃的紙質(zhì)打印件逐頁掃描、校對、數(shù)字化。現(xiàn)在你打開網(wǎng)頁就能看見當(dāng)年程序員手寫的注釋——有人吐槽老板,有人抱怨內(nèi)存不夠,有人在代碼里藏了莎士比亞。

兩份代碼,兩個大腦

整個項目拆成兩個倉庫:Comanche055是指令艙(Command Module)的代碼,Luminary099是登月艙(Lunar Module)的代碼。每艘飛船各裝一臺阿波羅制導(dǎo)計算機(AGC),4KB內(nèi)存,72KB只讀存儲器,運算速度約4萬次每秒。作為對比,你現(xiàn)在用的手機內(nèi)存是它的百萬倍。

但就是這個"電子算盤",在登月最后階段救了命。

1969年7月20日,登月艙"鷹號"下降過程中,AGC連續(xù)觸發(fā)1201和1202號警報——計算機過載。任務(wù)控制中心27歲的Steve Bales在幾秒內(nèi)判斷可以繼續(xù),阿姆斯特朗手動接管,在燃料僅剩4%時找到著陸點。那段處理警報的代碼,現(xiàn)在就在GitHub的ALARM_AND_ABORT.agc文件里,注釋寫得像急診室手冊:記錄警報狀態(tài)、點亮警告燈、區(qū)分"要命的"和"還能忍的"。

另一個被瘋狂轉(zhuǎn)發(fā)的文件只有30行:用多項式逼近計算正弦余弦的匯編代碼。沒有浮點單元,沒有數(shù)學(xué)協(xié)處理器,程序員用移位和加法硬算三角函數(shù),精度足夠把飛船導(dǎo)航到月球。推上有人截圖感嘆:"我現(xiàn)在的IDE自動補全都比這行數(shù)多。"

代碼里的活人痕跡

真正讓程序員破防的是注釋。MIT儀器實驗室的程序員團隊在60年代寫下了這些代碼,當(dāng)時"軟件工程"這個詞還沒被發(fā)明。他們面對的硬件約束堪稱變態(tài):AGC重量32公斤,功耗55瓦,內(nèi)存用磁芯存儲,每個比特一個小米粒大的磁環(huán),女工手工穿線編織。

在Luminary099的某個文件里,有人寫:"TEMPORARY, I HOPE HOPE HOPE"(臨時的,希望希望希望)。另一處注釋抱怨:"THIS ROUTINE IS CALLED BY PINBALL, WHICH IS CALLED BY THE KEYBOARD, WHICH IS CALLED BY THE ASTRONAUT"(這段代碼被PINBALL調(diào)用,PINBALL被鍵盤調(diào)用,鍵盤被宇航員調(diào)用)——三層調(diào)用棧的無奈,隔著55年都能摸到。

還有更皮的。程序員在代碼里埋了莎士比亞《亨利五世》的臺詞,在顯示模塊的注釋里寫:"IT WILL BE PROVEN THAT A LUNAR LANDING CAN BE ACHIEVED WITH A MANUAL OVERRIDE"(將證明登月可以靠手動覆蓋完成)。這行注釋寫于1969年之前,后來成真了。

這些注釋沒有被"清理",因為當(dāng)年沒有代碼審查流水線,沒有Jira工單,只有打印紙和鉛筆。

GitHub倉庫的README里,Chris Garry特意感謝了Virtual AGC項目的Ron Burkey——他從1990年代開始,憑一人之力逆向工程整個AGC系統(tǒng),掃描原始文檔,寫模擬器,讓這段代碼能在現(xiàn)代電腦上跑起來。現(xiàn)在你用Virtual AGC軟件,可以在Linux、Windows、Mac甚至FreeBSD上編譯執(zhí)行這些匯編,看著1969年的程序在你屏幕上閃爍。

為什么現(xiàn)在放出來

這不是NASA第一次開源老代碼,但Apollo 11的特殊性讓這次發(fā)布有了不同重量。2016年Chris Garry首次上傳時,GitHub服務(wù)器一度被擠爆,程序員們蜂擁而至,有人找bug,有人做表情包,有人單純想摸一摸"人類首次"的代碼質(zhì)感。

更深層的背景是太空計算的復(fù)興。NASA的Artemis計劃要2026年送人重返月球,SpaceX的星艦在測試軌道加油,商業(yè)月球著陸器接連發(fā)射。當(dāng)年的AGC代碼成了活教材——不是學(xué)它的匯編技巧,是看一群資源受限的工程師怎么在不可能的任務(wù)里做取舍。

MIT媒體實驗室的David Mindell寫過一本《Digital Apollo》,里面有個細節(jié):AGC的設(shè)計哲學(xué)是"讓人類在回路中"。計算機負責(zé)常規(guī)計算,關(guān)鍵時刻把控制權(quán)交還宇航員。這種"人機共生"的思路,在今天自動駕駛和AI接管一切的爭論里,反而顯得超前。

55年前的代碼庫,意外成了人機交互的考古現(xiàn)場。

GitHub上的Star數(shù)已經(jīng)超過幾萬,Issues區(qū)有人認真提問:"這段中斷處理為什么不用更高效的算法?"也有人玩梗:"提交了PR,把縮進從2空格改成4空格,被拒絕了。"最實用的貢獻可能是中文翻譯——有開發(fā)者把關(guān)鍵注釋譯成中文,方便國內(nèi)航天愛好者閱讀。

如果你真想跑起來,Virtual AGC項目提供了完整工具鏈。從匯編到二進制,從模擬器到虛擬儀表盤,甚至有個叫"Moonjs"的瀏覽器版本,讓你在網(wǎng)頁里體驗登月艙的操控界面。當(dāng)年宇航員看的數(shù)字顯示,現(xiàn)在你的Chrome里就能復(fù)現(xiàn)。

代碼開源的副作用是祛魅。你看不到"黑科技",只看到一堆條件跳轉(zhuǎn)和內(nèi)存地址。但正是這種樸素,讓這次發(fā)布有了特殊意義——它證明人類登月不是神話,是具體的人寫的具體的代碼,一行一行,在磁芯存儲器里占著具體的物理空間。

有個細節(jié)很少被提及:AGC的內(nèi)存分配是手工計算的。程序員要知道每個變量存在哪個磁芯的哪個位置,因為存儲密度太低,每一比特都是成本。這種"內(nèi)存地理學(xué)"的訓(xùn)練,讓當(dāng)年的工程師對系統(tǒng)有著近乎肌肉記憶的熟悉。今天的我們依賴垃圾回收和虛擬內(nèi)存,某種程度上是能力的退化,也是生產(chǎn)力的解放。

Chris Garry在GitHub的提交記錄里,最后一條是2023年的更新:修正了幾個掃描錯誤,補全了缺失的頁面。Virtual AGC項目還在維護,Ron Burkey已經(jīng)七十多歲,仍在回復(fù)郵件。這個開源社區(qū)的速度很慢,以年為單位,但跨度是半個多世紀(jì)。

現(xiàn)在打開那個倉庫,最先跳出來的文件是MAIN.agc,主程序入口。注釋第一行寫著:"THIS IS THE MAIN PROGRAM FOR THE APOLLO GUIDANCE COMPUTER"。沒有版本號,沒有作者署名,沒有版權(quán)聲明。1969年的程序員大概沒想到,他們的工作會在55年后被全球程序員圍觀、吐槽、致敬。

你編譯運行的時候,模擬器會彈出一個復(fù)古的界面:數(shù)字在閃爍,狀態(tài)燈在變化。那是阿姆斯特朗和奧爾德林看過的同款顯示。代碼是死的,但執(zhí)行它的瞬間,某種東西活了過來。

最后一個問題留給打開倉庫的你:如果讓你用4KB內(nèi)存寫一段必須成功的代碼,你會先刪哪行注釋?

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
央企“最牛女副處長”落馬:兩年與上司開房410次,細節(jié)曝光

央企“最牛女副處長”落馬:兩年與上司開房410次,細節(jié)曝光

西門老爹
2025-12-16 15:35:31
情況更糟!溫莎家族全員齊聚安妮公主長子大婚,哈里梅根被排除了

情況更糟!溫莎家族全員齊聚安妮公主長子大婚,哈里梅根被排除了

情感大頭說說
2026-06-10 10:57:16
小米正式回應(yīng)SU7 Ultra起火事故!

小米正式回應(yīng)SU7 Ultra起火事故!

新浪財經(jīng)
2026-06-09 13:42:50
痛心!66歲老人被迫搬水泥22年,當(dāng)他看到妹妹時,眼睛亮了!

痛心!66歲老人被迫搬水泥22年,當(dāng)他看到妹妹時,眼睛亮了!

魔都姐姐雜談
2026-06-10 12:25:58
總決賽2-1魔咒,第4場是生死戰(zhàn),尼克斯輸不起,馬刺最好的機會

總決賽2-1魔咒,第4場是生死戰(zhàn),尼克斯輸不起,馬刺最好的機會

鐵甲西奇
2026-06-10 22:12:21
喬科爾呼吁切爾西簽下拉什福德

喬科爾呼吁切爾西簽下拉什福德

體壇周報
2026-06-10 21:32:26
“火烈鳥”飛行1000公里擊中俄境內(nèi)目標(biāo),這說明什么?

“火烈鳥”飛行1000公里擊中俄境內(nèi)目標(biāo),這說明什么?

山河路口
2026-06-10 20:51:48
歐洲想擋住中國電動車,結(jié)果中國車企盯上了他們最舍不得的老工廠

歐洲想擋住中國電動車,結(jié)果中國車企盯上了他們最舍不得的老工廠

三農(nóng)老歷
2026-06-10 10:49:31
金正恩:朝韓永遠無法統(tǒng)一,給中國帶來一重要警示

金正恩:朝韓永遠無法統(tǒng)一,給中國帶來一重要警示

潘軮旅行浪子
2026-02-26 23:03:09
伊朗的“小摩托”困局:當(dāng)美國學(xué)會用你的矛攻你的盾

伊朗的“小摩托”困局:當(dāng)美國學(xué)會用你的矛攻你的盾

民間胡扯老哥
2026-06-09 05:22:36
《教父3》男星安東尼·吉德拉因心臟驟停離世,享年65歲

《教父3》男星安東尼·吉德拉因心臟驟停離世,享年65歲

娛樂嗑學(xué)家.
2026-06-10 11:11:37
法國隊內(nèi)訌?2大核心鬧矛盾,世界杯奪冠概率再改:梅西或成贏家

法國隊內(nèi)訌?2大核心鬧矛盾,世界杯奪冠概率再改:梅西或成贏家

削桐作琴
2026-06-10 13:58:43
這類新型腐敗正在被嚴查,紀(jì)委直接這樣定性!

這類新型腐敗正在被嚴查,紀(jì)委直接這樣定性!

細說職場
2026-06-10 19:57:49
為了掏空老百姓的錢袋子,這兩大謊言,誰信誰倒霉

為了掏空老百姓的錢袋子,這兩大謊言,誰信誰倒霉

人間頌
2026-06-09 13:00:50
大逆轉(zhuǎn)!WTT乒乓球比賽:國乒男單3-1大勝,國乒22人出戰(zhàn)

大逆轉(zhuǎn)!WTT乒乓球比賽:國乒男單3-1大勝,國乒22人出戰(zhàn)

銳評利物浦
2026-06-10 10:19:26
57歲解曉東現(xiàn)狀:定居安徽老家,妻子與他同甘苦,如今仍商演還債

57歲解曉東現(xiàn)狀:定居安徽老家,妻子與他同甘苦,如今仍商演還債

白面書誏
2026-06-09 15:34:40
兒子長相與妻子領(lǐng)導(dǎo)神似,丈夫偷偷做親子鑒定,結(jié)果出來后愣住了

兒子長相與妻子領(lǐng)導(dǎo)神似,丈夫偷偷做親子鑒定,結(jié)果出來后愣住了

婉婉碎碎念
2024-10-14 16:07:36
河北66歲殘障老人無薪扛水泥20年,老板曾稱“朋友送我的,如果死了就埋了”,當(dāng)?shù)鼗貞?yīng):已為其找到家人,水泥店經(jīng)營者安某某已被刑拘

河北66歲殘障老人無薪扛水泥20年,老板曾稱“朋友送我的,如果死了就埋了”,當(dāng)?shù)鼗貞?yīng):已為其找到家人,水泥店經(jīng)營者安某某已被刑拘

都市快報橙柿互動
2026-06-10 14:36:16
被張國立兒子暴打,后嫁給大17歲富豪,如今多年過去童瑤怎么樣了

被張國立兒子暴打,后嫁給大17歲富豪,如今多年過去童瑤怎么樣了

青橘罐頭
2026-05-28 14:49:56
性生活是不是人的剛需?

性生活是不是人的剛需?

宇宙時空
2026-05-31 12:30:18
2026-06-10 22:27:00
野生運營
野生運營
懂點產(chǎn)品,懂點AI,正在努力給平淡日子搞點新花樣。
5023文章數(shù) 47關(guān)注度
往期回顧 全部

科技要聞

史上最大IPO將至:1.8萬億美元的信仰豪賭

頭條要聞

女子離婚當(dāng)晚被前夫殺害 小朋友發(fā)現(xiàn)她遺體嚇得做噩夢

頭條要聞

女子離婚當(dāng)晚被前夫殺害 小朋友發(fā)現(xiàn)她遺體嚇得做噩夢

體育要聞

2026世界杯,我們看什么?

娛樂要聞

蒙淇淇發(fā)文開撕白鹿!輿論再次反轉(zhuǎn)

財經(jīng)要聞

一紙研報引"光"速下跌 CPO落地節(jié)奏有變?

汽車要聞

埃安i60 530寧德時代版上市限時煥新價10.36萬起

態(tài)度原創(chuàng)

房產(chǎn)
藝術(shù)
數(shù)碼
健康
軍事航空

房產(chǎn)要聞

方案曝光,三亞又一地王級豪宅要出!

藝術(shù)要聞

紐約賓州車站換上“古典皮膚”,是特朗普想要的效果?

數(shù)碼要聞

TRYX(創(chuàng)氪星系)全球首創(chuàng)全息視效水冷HOLO 360開售,999元

粽子為何難消化?過量吃會怎么樣?

軍事要聞

伊朗襲擊美軍第五艦隊

無障礙瀏覽 進入關(guān)懷版