如果你從未聽過艾倫凱,你至少聽過他的名言。 例如,1971 年的這句話:
預測未來的最好方法就是創造未來。
預測未來的最好方法就是創造未來。
艾倫在電腦科學領域的職業生涯非常豐富多彩。 他收到了
在我們的
關於軟體開發
艾倫·凱認為電腦革命尚未到來(
問題在於薄弱、可擴展性差的想法和工具、懶惰、缺乏知識等。
很好地描述了這種情況
安迪給的,比爾拿走的
安迪給予,比爾索取
英特爾執行長安迪·格羅夫和微軟時任執行長比爾·蓋茲。
改善目前的發展狀況是該研究計畫的目標
在他令人大開眼界的報告中
Alan 考慮了互聯網、TCP/IP 協定、LISP 解釋器、
他稱互聯網(TCP/IP)是為數不多的正確設計的大型軟體專案之一,其複雜程度與複雜程度保持平衡(複雜性與複雜性)。 該專案代碼不到 20 行,是一個活躍的動態系統,能夠支援數十億個節點,並且自 1969 年 XNUMX 月首次啟動以來從未離線過。 我們只是不再將網路視為人們創建的普通軟體專案:
網路如此發達,以至於許多人將其視為一種自然資源,就像太平洋一樣,而不是人類勞動的產物。 我們最後一次看到如此穩定、清晰、無錯誤的技術是什麼時候? 相比之下,網路就是無稽之談。 網路是由業餘愛好者創建的。
關於物件導向編程
首先讓我感興趣的是他
我認為物體就像生物細胞和/或網路上的單一計算機,只能透過訊息進行通訊。
和數學經驗:
我的數學經驗使我意識到每個物件可以有多個代數,它們可以組合成族,這非常有用。
LISPa 後期綁定和強大元功能的想法:
第二階段是理解 LISPa 並利用這種理解來創建更簡單、更小、更強大的結構以及隨後的綁定。
很快艾倫開始支持動態語言的觀點
後期綁定允許將開發過程中後期出現的想法以更少的努力合併到專案中(與早期綁定係統(如 C、C++、Java 等相比))
以及即時更改和更快迭代的潛力:
關鍵想法之一是系統應該在測試期間繼續工作,尤其是在進行更改時。 即使是重大的改變也應該是漸進的,並且不要超過一瞬間。
這是缺少的
如果您像大多數人一樣使用早期綁定語言,那麼您就會將自己鎖定在已經編寫的內容中。 將不再可能輕易地重新制定它。
令人驚訝的是,他對 OOP 的想法僅限於此:
對我來說,OOP 是訊息、本地保留和保護、狀態隱藏以及所有內容的後期綁定。 這可以在 Smalltalk 和 LISP 中完成。
也沒有任何關於繼承的事情。 這不是物件導向編程
我希望我很久以前就在這個主題中使用了“對象”這個術語,因為它導致許多人關注較小的想法。
現代靜態型別 OO 語言所缺乏的大思想:
最重要的想法是“消息”
他相信應該專注於訊息、鬆散耦合和模組交互,而不是物件的內部:
創建良好的可擴展系統的關鍵是確定模組之間的通訊機制,而不是確定其內部屬性和行為。
靜態型別語言對他來說似乎
我並不反對類型,但我不知道有哪個類型系統不會造成痛苦。 所以我還是喜歡動態打字。
如今一些流行的語言使用了 Smalltalk 的訊息傳遞想法、後期綁定和
摧毀一切並創造更好的東西
艾倫對電腦科學的發展有一個有趣的理論:
在我看來,計算機科學只有一種類型,而科學就像建造橋樑。 有人搭建橋樑,有人摧毀橋樑並創造新的理論。 我們需要繼續搭建橋樑。
關於 LISP
艾倫·凱相信 Lisp
有史以來最好的程式語言
每個電腦科學專業的畢業生都應該學習它:
大多數攻讀電腦科學學位的人並不了解 Lisp 的重要性。 Lisp 是電腦科學中最重要的想法。
關於正確的氛圍和背景
他常常回憶起那裡獨特的氛圍。
觀點值 80 IQ 分。
艾倫凱 說:
ARPA/PARC 的故事展示了願景、適度的資金、正確的環境和流程的結合如何神奇地催生新技術,這些技術不僅影響文明,而且為社會創造巨大價值。
這是真的。
- 激光打印機
- 物件導向程式設計/Smalltalk
- 個人電腦
- 乙太網路/分散式運算
- GUI / 電腦滑鼠 / 所見即所得
聚苯乙烯
來源: www.habr.com