會習慣性地說:「啊,我碰到 bug 啦!」
電腦工程中,也常用 bug 來形容那些出錯的環節;不過我們也知道, bug 其實是蟲的意思,難不成大家討厭蟲蟲到把一切錯誤都推到它頭上了嗎?(大誤)
而這一切,又得從很久很久以前的故事開始說起了......
_
1933 年,天文學教授艾肯 (Wallace Eckert) 向 IBM 提案改造 IBM 601商用計算機,用來計算天文物理的方程式。隨後他又將 IBM 601、印表機,與打孔機連接,成為「自動循序控制計算機」(簡稱ASCC )。
ASCC 沿用 IBM 原有的打孔卡片機制來輸入程式,並把卡片改為紙帶。打孔紙帶一次會讀入一個指令,而控制單元馬上根據指令動作,如此一來就不會佔用記憶單元,不過運算速度卻因此受限。
大概就是所謂的有一好、沒兩好(嘆息)。
而這個將程式與數據分開、不共用記憶單元的架構,後來稱為「哈佛架構」。
_
1939 年 IBM 承諾開發 ASCC,艾肯當時恰好在哈佛大學取得教職,代表哈佛繼續與 IBM 的團隊合作;不過後來,艾肯和 IBM 因為發明功勞歸屬問題,鬧了一些彆扭,雙方的合作也就此畫上句點,哈佛大學也乾脆將 ASCC 重新命名為「哈佛馬克一號」(Harvard Mark I)。
二戰結束後,艾肯退役回歸教職。即使與 IBM 分道揚鑣,艾肯依然分別在 1947 年與 1949 年,開發出功能更強的哈佛馬克二號與馬克三號。
_
其中有趣的是,程式設計師在使用馬克二號時,發現它總是出錯。檢查後發現,原來是一隻蛾在繼電器上爬來爬去,造成了短路,移除後就正常了。
不過這群人也挺奇葩的,發現電腦有蛾也不把它趕走,而是把它拿下來,用膠帶貼在工作日誌上(?!)
不僅如此,還特別註明牠是在 F 板塊的第 70 號繼電器上發現的,甚至寫上「發現第一宗蟲的真實案例」(“First actual case of bug being found”)。
\從此,電腦程式的除錯工作就叫 ”debug” 了/
所以說,以後在任何東西上發現蟲子別輕易忽略,創造新名詞的有可能就是你唷(完全不對!)
_
本文改寫自 史上第一部全自動的計算機——艾肯與 IBM 的恩怨情仇│《電腦簡史》數位時代(八)
_
#泛科學 #科學 #科科吐槽 #吐槽 #電腦 #計算機 #迷因 #謎因 #艾肯 #數位 #數據 #電腦簡史 #程式 #錯誤 #蛾 #哈佛 #蟲 #馬克二號 #ASCC #computer #digital #calculate #calculator #IBM #bug #debug #meme #science