50多年前的程式碼,就已經能讓程式設計師看不懂了

qdaily發表於2016-07-12

上週四,前 NASA 的實習生 Chris Garry 將當時科學家給阿波羅 11 號(Apollo 11)登月所編寫的部分原始程式碼放到了 Github 上。

儘管這段程式碼早在 2003 年已經被研究員 Ron Burkey 從原始檔案中轉錄到了網路上,但這是第一次公眾能如此快捷地獲取到這段程式碼。

程式碼公佈後,引發了網際網路上的一輪討論熱潮。

Twitter 上很多人表示看不懂這段 50 多年前編寫的程式碼

大家除了研究這些距今已經 50 多年,很多程式設計師已經很難看懂的程式語言之外,也發現了當時科學家在程式碼註釋中寫下的一些有趣的細節和調侃。

比如說這段程式碼註釋, BURN_BABY_BURN—MASTER_IGNITION_ROUTINE.s(燃燒吧,寶貝兒,控制點火程式)

在註釋中他們詳細解釋了這段程式碼的出處,是一個 1965 年發生在洛杉磯的故事。

還有這段以 HELLO 和 GOODBYE 結尾,一段反映團隊成員之間交流的的程式碼註釋。

有些科學家們還會給自己編寫的程式加幾句評論,比如這段 TRASHY LITTLE SUBROUTINES in LUNAR_LANDING_GUIDANCE_EQUATIONS.s.(這位科學家評價自己寫的這段程式碼是“無用小垃圾” )

還有一些頗具詩意的科學家,他們甚至引用了莎士比亞的語錄。

當時科學家們採用的還是一種非常初級的組合語言進行程式設計,NASA 在此基礎上創造了其獨特版本的組合語言,因此現在看起來更加的晦澀難懂。

阿波羅 11 號( Apollo 11)是美國航空航天局登月計劃中的一部分。1969 年宇航員阿姆斯特朗首次登月,他說的那一句 “這只是我的一小步,卻是人類的一大步” 你或許還記憶猶新,但距離人類首次登月時間已經過去了 50 多年。

這 50 多年間,計算機技術發生著迅猛的變化。上世紀 60 年代的計算機還是由電晶體電路所搭載的,阿波羅 11 號(Apollo 11)登月專案也是電腦軟體第一次擔任如此重要的關鍵角色。

50 多年前,當麻省理工的程式編寫小組想要為阿波羅編寫一套系統時,他們甚至連應該用什麼工具編寫都不知道。

這是當時被寫滿了程式碼的文件,疊起來比研究員 Margaret Hamilton 還要高

這套複雜難懂的組合語言現在可能已經沒有什麼人能看得懂,也不再廣泛適用於程式設計領域。但是這並不妨礙人們用調侃的方式來表達對這段已經過時了的程式碼的興趣,在 Github 上有人在阿波羅 11 號(Apollo 11)的討論區建立了名為 MATTDAMON.s 的檔案。

是的,他們打算用這段程式碼把馬特·達蒙從火星救回來。

相關文章