為何說Lisp是有史以來最牛的程式語言?

2021-08-14 09:40:11 字數 1951 閱讀 1309

物件導向之父alan kay對「lisp是有史以來最牛的程式語言」進行了解答。原回答如下:

alan kay:首先對我以前的一些答案進行澄清。有些人要嘗試著用lisp做作業系統,這看上去好像很難。事實上,我曾經做過最好的作業系統之一就是利用的「the lisp machines」,它是以「parc machines」和smalltalk為首的硬體和軟體——而我們也受到了程式設計以及實現lisp模型的影響(這些作業系統在smalltalk和lisp中都比今天的標準版本要更容易編寫)。

另乙個有趣的答案是:「時間的考驗」在某種程度上是宇宙的優化。但是正如每個科學家知道的一樣,達爾文演化論發現了環境適應的重要性,一旦環境缺失,那麼適應性也會隨著缺失。同樣,如果大多數計算機科學家缺乏必要的理解和知識,那麼他們的選擇也可能會是錯誤的。如今也有大量的證據表明這個結論是正確的。

但是這兩個答案都不足以表達我對lisp的讚美(另外我在「 smalltalk的早期歷史 」這個問題中更詳細的解釋了我的意思)。

我們很容易聯想到歷史上最偉大的天才——牛頓。他在很多領域都能流利的應用微積分。而在牛頓之後的科學家在質量研究方面比以前有更大的突破。所以我認為「觀點價值80分」——乙個知識貧乏的人很有可能減去80 iq值,而一些更強的人會完成以前人們認為的很困難的創新。

人類眾多的思想問題之一是「認知負擔」:事件的數量會立即引起我們的注意,一般來講為7±2,但對於許多事情來講這還是少的。我們通過解決這些瑣碎的問題來使自己成長。

現代科學是基於體驗現象和設計模型關係的,這些關係可以進行必要的「negotiated」,因為在我們腦海中的系統與「外界是什麼」無必然聯絡。

從這個角度我們可以聯想到「橋梁科學」和「橋梁科學家」——工程師建立橋梁,為科學家提供可用的橋梁模型。同樣,從「橋梁科學」可以衍生出來「電腦科學」和「計算機科學家」,開發人員構建硬體和軟體為科學家提供可用的計算機模型。實際上這是60年代初期「電腦科學」的主導思想,但只是乙個期望而已並沒有完全實現。

lisp背後的故事很有趣(你可以在第一程式語言史中查閱john mccarthy的文章)。它被構造的目的之一是建造「數學物理」,也就是「數學的計算機理論」。另乙個原因是john mccarthy在50年代後期考慮過使用一種最普通的程式語言來構造乙個使用者介面的ai(稱為「警告」)。

lisp可以進行程式設計,大多數的程式都是機器**;fortran表處理語言存在,語言也有鍊錶。

john開發的lisp可以編譯任何程式語言都能做到的程式,而且相對簡單,這也體現了它的本質。(這讓我們聯想到數學部分或現代麥克斯韋方程式),而這樣的方式也會比圖靈機器更簡潔。

我們知道從最簡單的機器結構到最高端語言的發展斜率都是最陡峭的——這就意味著可識別的硬體到宇宙表示式會呈現火箭式飛躍的趨勢。

通常情況下,特別是在工程中,乙個偉大的科學模型往往都優於現有的模型,這就會導致棒的工作。史蒂夫·拉塞爾(程式設計師,也是「太空站的」的發明者)看了約翰所做的工作後說:「這個程式如果我來編碼,我們現在已經有乙個可執行的版本」。正如約翰所說的:「他做到了,我們也做到了!」

而最終的結果就是「unlimited programming in an eyeful」(在lisp 1.5手冊中第13頁的下半部分)。其實問題的關鍵並不在於「lisp」而是在於這些代表性方法是否對多種程式語言方案開放。

這件事情一旦完成可以立即考慮比lisp更優秀的程式語言,你也會立即想出比john更好的方法來編寫meta描述。這就是所謂的「pov = 80 iq points」的部分。但這聽起來就像是一旦看到牛頓就會電動力學相對論一樣。所以說科學上最大的壯舉還是牛頓!

這就是為什麼lisp是最棒的原因。

為什麼說程式設計是有史以來最好的工作

在過去的16年中,我一直都是一名開發者。不久前,公司的一位實習生問我,做一名開發者,最酷的事情有哪些。以下就是我給出的回答 1.你是真正的實幹家 在瑞典這樣的國家,勞動者會收到非常好的保護,自己真正的去勞動,要比依靠其他人的才智更有價值。老闆 是一句髒話。2.收入高。這是乙個需求量非常高的工作,企業...

為什麼說程式設計是有史以來最好的工作

在過去的 16 年中,我一直都是一名開發者。不久前,公司的一位實習生問我,做一名開發者,最酷的事情有哪些。以下就是我給出的回答 1.你是真正的實幹家。在瑞典這樣的國家,勞動者會收到非常好的保護,自己真正的去勞動,要比依靠其他人的才智更有價值。老闆 是一句髒話。2.收入高。這是乙個需求量非常高的工作,...

有史以來最簡單的三層例項 C

三層已經學了很久了,一直沒有寫部落格是因為自己感覺對三層的理解還太膚淺,怕寫的不對誤導別人。當然就現在我的水平而言對於三層的理解還是不夠深刻,但是我感覺不至於誤導別人了,所以將我對於三層的一些理解寫出來,希望會對和我當初一樣迷茫的菜鳥一些幫助!回想當初我學習三層的時候,在網上尋找關於三層的知識,找到...