身為面向對象編程、移動計算機之父的他,為何說「計算機革命還沒真正到來」?

csdn 發佈 2020-08-23T06:55:22+00:00

1968 年,艾倫在 MIT 人工智慧實驗室見到了 Logo 語言的創始人西蒙·派珀特,派珀特和同事們向孩子們演示如何使用 Logo。

作者 | 年素清

責編 | 李雪敬

出品 | 程序人生(ID:coder_life)

艾倫·凱(艾倫 Kay)是近代計算機革命先驅之一,他最早提出了「面向對象編程」的概念,也是「Dynabook」(筆記本電腦的雛形)的最早闡述者。

他是一個真正意義上的全才,不僅是工程技術方面的專家,還在兒童發展理論、認識論、分子生物學等領域頗有建樹,他擅長將它們融合在一起,在知識的交匯點上挖掘出更具價值的東西。此外,他還是個發明家。

艾倫有一句廣為人知的名言:「預測未來的最好的辦法就是創造未來。」

艾倫·凱,圖片來自維基百科

首次提出「面向對象」

艾倫於 1940 年出生在美國馬塞諸塞州。1歲時,全家隨父親遷往澳大利亞,世界第二次世界大戰爆發後,又遷回美國。

艾倫3歲就可以閱讀,家裡有 6000 本書和大量的繪畫。大量的閱讀使得童年時期的艾倫就有了自己獨立的觀點,他說:「到我上學的時候,我已經讀過幾百本書。那時我已經有了許多自己的觀點,我知道一年級所教的許多東西都很幼稚和虛假。當然我已經可以用五歲的聲音維護自己的觀點。」

1960 年,艾倫進入 Bethany 大學就讀,但在一年之後,他就因抗議學校對待猶太人的不公問題而被學校開除。退學後的艾倫加入志願兵服務隊,在軍隊的一次計算機的能力傾向測試中,艾倫因為表現出眾而被美國空軍派遣到 IBM K101 工作。正是在那裡,艾倫學習到了大量計算機有關的知識。

從軍隊退伍後,艾倫被科羅拉多大學錄取,攻讀數學和分子專業,畢業後進入猶他大學學習電氣工程。

在猶他大學,艾倫開始使用由 1988 年圖靈獎獲得者伊凡·蘇澤蘭(Ivan Sutherland)開發的 Sketchpad 程序,結合 Simua 仿真語言編寫程序。當時的計算機是個非常罕見的物件,那個時代的程式設計師使用一堆別人看不懂的字符工作,因為更高級的語言還沒有被開發乃至推廣。

隨著對計算機接觸的深入,艾倫開始思考計算機和編程。受這些程序思想的啟發,再加上自己生物學的背景,他提出了「生物學類比」理論。艾倫假定理想的計算機將象生物體一樣工作,為完成某個任務,每個「細胞」都要與其它「細胞」協同完成,而每個「細胞」又有自己的功能。為了解決另外的難題或試驗另外的功能,「細胞」們可以實現重組,這一理論成為面向對象程序設計的萌芽。他的博士畢業論文也是圍繞圖形面向對象方面的研究展開。

「計算機就像一種超級紙張」

1968 年,艾倫在 MIT 人工智慧實驗室見到了 Logo 語言的創始人西蒙·派珀特(SeymourPapert),派珀特和同事們向孩子們演示如何使用 Logo。艾倫看完之後,他之前對於計算機的認識受到極大衝擊,艾倫後來回憶起這段經歷說:「我看到了第一個真正的手寫體識別系統。這是一套今人難以置信的系統。它對我產生了巨大影響,因為我有種心有靈犀的感覺。當我將這些觀念綜合起來,計算機的概念就象是一種超級媒體,一種超級紙張。」

從這以後,艾倫開始學習 Logo 語言。

推動蘋果 Mac 機的誕生

1971 年,艾倫進入 Xerox PARC(施樂帕克研究中心)開始參與 Alto 計算機的開發。當時的位圖顯示器十分昂貴,艾倫成功說服 PARC 讓他使用這些位圖顯示器,這使得艾倫和他的團隊能夠實現不同大小和字體的文字,使用多窗口環境,以及一些對圖像處理的高端支持。基於這些操作,艾倫最後發明了重疊窗口、圖標等圖形用戶介面。

1979 年,艾倫邀請史蒂夫·賈伯斯(SteveJobs)、傑夫·拉斯金(Teff Raskin)以及其它蘋果公司的元老們來到 PARC 參觀,賈伯斯一行人對艾倫的視窗圖形用戶介面非常感興趣,他們認為這就是未來的電腦。

1984 年,在賈伯斯的極力邀請下,艾倫加盟蘋果。同年,蘋果推出 Macintosh 計算機(就是我們所知的Mac機),首次將圖形用戶介面應用到個人計算機之上,引起計算產業界的巨大轟動。

面向對象之父與移動計算機之父

1968 年,艾倫受派珀特啟發,他構想出一台像書本一樣大小的計算機,用戶尤其是兒童可以用它來代替紙張,他將這個項目稱之為「Kiddie Komp」,並在此基礎上提出了「Dynabook」的概念,後來在 1972 年一篇名為《適合各年齡段兒童的個人計算機》的論文中發表了這個概念。「Dynabook」後來演變成了今天的超薄筆記本電腦。

為了將 Dynabook 的想法落地,艾倫開始著手 Smalltalk(面向對象的程序設計語言)的研發。之後,他率領團隊對 Smalltalk 的執行效率和規模進行了優化,他們引入了繼承和子類的概念並確定了語言的語法,這使得編譯器能夠產生高效、可執行、精鍊的二進位代碼,這些概念的引入使 Smalltalk 成為最早的面向對象語言。艾倫因此被譽為「面向對象之父」,2003 年4月,美國計算機學會(ACM)將當年的圖靈獎授予了艾倫,以表彰他和他的 Smalltalk 語言。

此外,Smalltalk 吸取了 Mac 機原型的優秀經驗,能夠通過高度便攜的聯網方式,以編輯、授權的形式模擬所有現有媒體。1993年,蘋果推出世界上第一款掌上電腦「Apple Newton」,終於將 Dynabook 理念成為了現實。艾倫也因此被後人稱為「移動計算機之父」。

「計算機革命並未真正發生」

儘管計算機自誕生之日到艾倫的時代經歷了翻天覆地的變化,但是他卻認為計算機革命並未真正發生,軟體工程正在向和摩爾定律相反的方向發展,當硬體容量逐年遞增的時候,軟體則在無謂地持續膨脹,而背後的原因可能是虛弱而難於擴展的思路和工具、懶惰和缺少知識等。

當時有首搞笑的單行詩:「Andy 給予的一切,都被 Bill 奪走」。指的是每當 Intel 的 CEO 安迪·葛洛夫(Andy Grove)推出一款性能更高的晶片,微軟的 CEO 比爾·蓋茨(Bill Gates)都會通過升級軟體使新硬體帶來的更高性能消失於無形。

為了改善當前軟體開發的窘境,艾倫領導了向著徹底改造編程技術的 STEP 研究課題,目標是實現摩爾定律在軟體代碼表達效率上的飛躍,途徑是把開發系統所需要編寫的代碼量減少到原先的百分之一、千分之一、萬分之一甚至更少。

2011 年,艾倫指出軟體工程已陷入停滯,成為了迷失的學科,無法跟上硬體和其他科學技術領域發展的步伐。巨大的代碼庫已經淪為了一個垃圾場,大到任何人都無法看懂產生 Vista 或者 Word 的1億行原始碼,而本來只需要一小部分代碼就夠了。

參考連結:

https://baike.baidu.com/item/%E8%89%BE%E4%BC%A6%C2%B7%E5%87%AF/10709189?fr=aladdin

http://www.gerenjianli.com/Mingren/28/o5o1idm8om.html

http://media.people.com.cn/n1/2019/0510/c14677-31077446.html

關鍵字: