整理 | 王啟隆
透過「歷史上的今天」,從過去看未來,從現在亦可以改變未來,
今天是 2021 年 10 月 30 日,在 12 年前的今天,兩彈一星元勛錢學森逝世,錢老是中國火箭、導彈、航天事業的奠基人,被譽為“航天之父”、“火箭之王”;2009 年的這一日,錢老在北京逝世,享年 98 歲,回顧計算機歷史上的 10 月 30 日,今天也誕生了許多關鍵事件,一點點改變了我們手上的技術和工具,
1847 年 10 月 30 日:喬治·布爾發明了布爾邏輯

布爾邏輯(Boolean algebra)得名于喬治·布爾(George?Boole),他是愛爾蘭科克的皇后學院的英國數學家,在十九世紀中葉首次定義了邏輯的代數系統;1847 年 10 月 30 日,布爾出版The?Mathematical?Analysis?of?Logic 一書,首次定義了邏輯的代數系統,后來被稱為布爾邏輯,也叫布爾代數,布爾邏輯是數字邏輯和計算機科學的基礎,1937 年,香農在布爾的基礎上向前跨出了偉大一步,將布爾邏輯應用到了電子學中,現在,布爾邏輯在電子學、計算機硬體和軟體中有很多應用,
布爾邏輯的誕生把形式邏輯歸結為了一種代數,布爾認為,邏輯中的各種命題能夠使用數學符號來代表,并能依據規則推匯出相應于邏輯問題的適當結論,布爾的邏輯代數理論建立在兩種邏輯值“真 True”、“假 False”和三種邏輯關系“與 AND”、“或 OR”、“非 NOT”;這種理論為數字電子計算機的二進制、形關邏輯元件和邏輯電路的設計鋪平了道路,1854 年,布爾出版了名著《布爾代數》,并在此基礎上,經過許多年的發展,形成了現代計算機的理論基礎——婁理邏輯,
和許多發明一樣,布爾邏輯在誕生之初被冷落,直到 20 世紀早期,一些電氣工程師直觀地認識到布爾代數類似于某些型別的電路的行為;克勞德·香農(Claude Shannon)在 1937 年的碩士論文《繼電器和開關電路的符號分析》中正式證明了這種行為在邏輯上等同于布爾代數,今天,所有現代通用計算機都使用二值布爾邏輯來執行其功能;也就是說,它們的電路是二值布爾邏輯的物理表現;如果說圖靈實作了計算機的“可計算性”,那么布爾便是為其奠定了邏輯性的人,
資料來源:維基百科
1954 年 10 月 30 日:史上首款影像冒險游戲的開發者 Ken Williams 出生
冒險游戲是一種電子游戲型別,在這種游戲中,玩家在一個互動故事中扮演主角,由探索和/或解決謎題驅動;這種游戲型別的重點在于故事,這使得它能夠大量借鑒其他基于敘事的媒體,文學和電影,包括各種各樣的文學型別,由于計算機技術的限制,冒險游戲在最開始都是純文字的,而文本冒險游戲的起源很難追溯,因為 20 世紀 70 年代的計算機記錄并不完善,
直到 1980 年,一對夫婦改變了這一現狀,由妻子 Roberta Williams 設計,丈夫 Ken Williams 協助編程的,世界上第一款有影像,而非純文字畫面的冒險游戲《謎之屋》(Mystery House)誕生,這也是美國 On-Line Systems 公司(現為 Sierra Entertainment)發行的第一款電子游戲,

1954 年 10 月 30 日,Ken Williams 誕生于美國印第安納州;他是一名游戲程式員,On-Line Systems 的聯合創始人,后來該公司改名為 Sierra Entertainment,被動視公司復興,在 Sierra 公司,他和妻子 Roberta Williams 制作了《King’s Quest》、《Space Quest》、《Police Quest》和《Leisure Suit Larry》等經典游戲,
1979 年,Roberta Williams 當時是個家庭主婦,在家從事家務及照顧孩子,其夫 Ken Williams 創立了一家名為 On-Line Systems 的電腦軟體公司,當時 Apple II 電腦剛發行,因此 Ken 認為 Fortran 編譯器有市場需求,遂進行該類軟體開發的作業,某一天,Ken 把 TRS-80 計算機帶回家中,妻子 Roberta 借此接觸到了名為《巨洞冒險》的文字冒險游戲,這款游戲是最早的冒險游戲,Roberta 對此深感著迷,并嘗試尋找和《巨洞冒險》類似的電子游戲,卻一無所獲,于是起了自己來創作電子游戲的念頭,
Roberta 在廚房的餐桌上構思游戲劇情,并用紙筆將其記錄下來,她參考英國小說家阿加莎·克里斯蒂的著作《無人生還》和紙上游戲《妙探尋兇》,以作為故事的參考(因此,《謎之屋》其實也是第一款恐怖題材的電子游戲),她認為冒險游戲必須要有個很棒的故事、而且要讓玩家認為是在玩游戲;Roberta 花了一個月完成她的故事,但是程式設計不是她的專業領域,某天,她和丈夫出去吃晚餐時,試圖說服丈夫協助制作這款游戲,而 Ken 放棄了 Fortran 編譯器的開發轉而協助妻子,他是《謎之屋》唯一的程式員,
最終,《謎之屋》在 1980 年 5 月發售,當時的價格是一套 25.95 美元,共賣出了大約 8 萬套,《謎之屋》引起了冒險游戲視徑訓的開始,從此 2D 平面影像成為冒險游戲開發的主流,游戲制作人開始嘗試用各類影像配合文字加強玩家對游戲劇情的體驗,借由《謎之屋》的銷售盈利,On-Line Systems 公司從此轉型成為電子游戲開發公司,逐漸擴大規模并推出許多電子游戲;該公司不但推出影像冒險游戲,還是采用聲卡和顯卡制作游戲、推出光碟游戲的先驅,Ken 和 Roberta 夫婦共同推動了影像冒險游戲的發展,對電子游戲發展有重要的影響,
資料來源:維基百科
1994 年 10 月 30 日:Thomas Nicely 發現 Pentium FDIV bug
世界上的第一個 Bug 我們曾在 9 月 9 日的“歷史上的今天”專欄里介紹過,那么,世界上最難修復的 Bug 是哪一個?回到 1994 年,林奇堡大學的數學教授 Thomas Nicely 在 10 月 30 日獨立發現并公開披露了 Intel P5 Pentium FPU(浮點單元)中的 Pentium FDIV bug,
Thomas Nicely 當時發現用電腦處理長除法時一直出錯,他用一個數字去除以 824,633,702,441 時,答案一直是錯誤的;事后發現原因是英特爾為了加速運算,將整個乘法表刻錄在處理器上面,但是 2048 個乘法數字中,有 5 個輸入錯誤,這些錯誤其實不容易出現,在運算程序中,它會自動修復錯誤,只有幾個二進制的數字組,才會造成完全錯誤的結果,

在這起事件的初期,英特爾的工程師指出,大約 90 億個長除法中才會有這么一次錯誤;依照計算,平均故障間隔大概是七百年,所以幾乎是不可能發生,但是,當 Thomas Nicely 在 CompuServe 上報道了這個錯誤之后,這個 Bug 立刻成為了第一批真正通過互聯網傳播的故事之一;僅僅幾天后,有人在 Usenet 中 comp.sys.intel 組上發布了關于這個問題的訊息,確認了浮點錯誤,從那開始,這起事件傳遍各地,被工程行業出版物 EE Times 在新聞中報道,并且紐約時報和波士頓環球報在內的主流媒體都對此進行了報道;在接下來的時間里,更是出現了數百篇關于此事的文章,
值得一提的是,1994 年,互聯網開始第一次進入主流領域,而這個 Bug 讓 1994 年的人們第一次認識到了互聯網;Pentium FDIV bug 一度成為了新聞焦點,讓英特爾在感恩節通過互聯網登上世界頭版,讓這家全球首屈一指的計算機芯片制造商感到尷尬,但是,這個 Bug 始終沒有解決;英特爾同時遭遇了輿論壓力、技術問題和公關危機,那一年公司的股票也受到了很大沖擊,在這一年的圣誕節,英特爾公司無可奈何,只能召回了有缺陷的產品,這是英特爾第一次全面召回計算機芯片;最終,英特爾因此事件損失了 5 億美元,

那么,Pentium FDIV bug 最終得到了解決了嗎?1994 年的冬天,Cleve Moler 從 David Hough 維護的電子郵件串列中第一次了解到 FDIV 錯誤,隨著對事件的逐漸了解,Moler 對這個 Bug 的興趣越來越濃;11 月 15 日,Moler 以質數和比率為例,向英特爾和新聞組發布了他當時所知道的情況,他指出,這兩種情況下的除數都小于 2 的冪的 3 倍,
Cleve Moler 是誰? 他出生于 1939 年,是美國數學家及計算機科學家,一生研究數值分析領域;他也是 MATLAB 語言創立者,軟體公司 Mathworks 的首席科學家,美國國家工程院院士,Moler 發布的帖子迅速在互聯網上爆火,業界的專家們都來詢問他具體情況;最終,他把 Tim Coe、Terje Mathisen、Alex Wolfe 等熱切關注該事件的程式員高手聚在一起,再找來了英特爾的幾位軟硬體工程師,試圖一起修復 Pentium FDIV bug,
有志之士們聯合了起來,他們認為解決方案的關鍵在于,芯片幾乎一直都在分工方面做得非常好;因此,在這種情況下不需要改變太多,只將分子和分母同時乘以 15/16 ,就可以將除數從不安全區域中去掉,并確保隨后的除法完全準確,使用這種方法,就不需要測驗由除法產生的剩余值的大小,Cleve Moler 的團隊最終出色地解決了 Pentium FDIV bug,他也沒有忘記宣傳 MATLAB,這項優化技術最終被公布到了 MATLAB 新聞組,可供全社會無償自由使用,MATLAB 和 Mathworks 從此步入公眾視野,而英特爾也汲取了一次慘痛的教訓,
資料來源:維基百科、blogs.mathworks.com
2000 年 10 月 30 日:最后一臺運行 Multics 的機器被關閉
Multics ,全名 Multiplexed Information and Computing Service,是基于單級存盤器概念的早期有影響力的分時作業系統,常有人說 Multics “從微型計算機到大型機,影響了所有的現代作業系統”,Multics 最初的規劃和開發始于 1964 年,它最初是由麻省理工學院、通用電氣和貝爾實驗室(Bell Labs)領導的一個合作專案,基于專門為它設計的 GE 645 計算機上開發,

MULTICS 最初的目的是連接 1000 部終端,支持 300 位用戶同時上線,1969 年,因 MULTICS 專案的作業進度過于緩慢,最后終究遭裁撤的命運,貝爾實驗室由此退出此專案;當時,肯·湯普遜正在為這個系統撰寫一個稱為“星際旅行”(Space Travel)的游戲程式,在貝爾實驗室退出 Multics 計劃后,實驗室的兩位軟體工程師肯·湯普遜與丹尼斯·里奇以 B 語言和匯編語言為基礎而發展出 UNIX,而 1973 年湯普遜和里奇用 C 語言重寫了 Unix,為 Unix 的普及奠定了基礎;而通用電氣及麻省理工學院仍繼續開發 Multics,并最終成為商業產品,由霍尼韋爾(Honeywell)銷售,
2000 年 10 月 30 日,最后一個已知的、在霍尼韋爾硬體上運行的 Multics 計算機由加拿大新斯科舍省哈利法克斯的加拿大國防部關閉;直到 2006 年,Bull HN 向 MIT. 發布了 MR12.5 的源代碼,這是 1992 年的 Multics 最終版本;除了一些可選的部分,如 TCP/IP.,系統的大部分現在都是免費軟體,2014 年,Multics 使用模擬器在當時最新的計算機上成功運行;伴隨著模擬器的 1.0 版本發布,并增加了一些新特性,Multics 這顆桌面作業系統的早期火種被流傳了下來,Multics 為現在的眾多作業系統提供了靈感,不禁讓人遐想未來的桌面作業系統會是怎么樣的;你心目中未來的主流會是誰?歡迎參與本期投票和評論,分享你的真知灼見,
【歡迎投稿】以史為鏡,可以知興替,計算機科學發展至今,有許多至關重要的事件、人物,歡迎所有朋友一起共建「歷史上的今天」,投稿郵箱:tangxy@csdn.net ,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342216.html
標籤:其他
上一篇:再不學ES6你就out啦
