當前位置:
首頁 > 科技 > 2003年圖靈獎得主、計算機大師Alan Kay:新程序員該讀讀這些經典老書

2003年圖靈獎得主、計算機大師Alan Kay:新程序員該讀讀這些經典老書

新智元報道

來源:Quora

編輯:大明

【新智元導讀】著名計算機科學家、2003年圖靈獎得主Alan Kay在「美國知乎」Quora上分享了自己最為推薦的一些計算機經典老著作。其中最喜歡的是1962年的《Lisp1.5程序員手冊》。高人前輩指路,少走彎路,一起來看看老爺子都推薦了哪些書吧。

計算機行業是個學無止境的領域,除了掌握和理解最近的技術進展和動態外,向過去的前輩學習經驗和思想可能也會獲益良多。近日Quora上就出現了這麼一個問題,是專門提給「有經驗的程序員和計算機科學家」的:

您認為新程序員應該讀一讀哪些老著作,甚至是那些已經被人遺忘的著作?

這個問題吸引來了一位超級大咖的「老程序員」,他就是Alan Kay,著名計算機科學家,面向對象編程和圖形用戶界面領域的先驅人物,2003年圖靈獎得主。

以下是Quora上老爺子的回答:

我覺得,現在提起「2006年」或「2008年」就會被視為「非常老」了,我這裡推薦的書比這還老。

我仍然是《Lisp 1.5程序員手冊》的忠實粉絲。這個版本的語言已經不再適合我們了,但這本由約翰·麥卡錫團隊與1962年寫的書是一本完美的經典之作。

此書首先介紹了約翰·麥卡錫關於Lisp的第一篇論文,並在幾頁示例中實現了這些想法,最終在第13頁上用Lisp eval和apply本身進行了定義。在本書的其餘部分中,還有許多其他發人深思的想法和例子。

讀這本書,重點是深入了解作者團隊「做了什麼」以及「如何做到的」,然後嘗試以多種方式重寫第13頁的內容。使用遞歸和不使用遞歸「用lisp」寫這頁內容,各有什麼優缺點?(請繼續閱讀本書,看看Lisp 1.5已經了解了EXPR和FEXPR(在調用之前沒有評估其參數的函數) - 因此可以用來替換所有「特殊形式」 - 做一個由FEXPRs製作的Lisp,並根據定義得到其餘部分等)。

什麼是整潔的自舉路徑?如何能把它與Val Shorre的「Meta II」程序化解析器結合起來,打造一門真正可擴展的語言?要如何才能觸及「對象」?對象的三四個真正有趣的形式是怎樣的?(提示:在執行的語言中,有多少種不同的方法可以定義「閉包」?使用Lisp原子作為對象的模型怎麼樣?等等)

我們的想法是,Lisp不僅僅是一種語言,而是一種意義重大的「建築材料」,它足夠整潔,可以用來「思考」,而不僅僅是製造(它是思想和計算機流程的「建築材料」)。

Dani Richard提醒我提到馬文·明斯基1967年的著作《計算:有限和無限的機器》,這是我最喜歡的書之一。馬文真的很會寫書,這本書是他寫得最好的一本。它實際上是一本「數學書」,講了有很多想法、定理、證明等等 - 但是以一種偉大的思想,以及對讀者最友好的方式呈現的,在這本書中有許多值得思考的趣事,但也許正是這種方法,讓讀者開始「以書中的方式」思考,這一點是最有價值的。

《編程與非數值計算的進展》(Ed.L.Fox)編於上世紀60年代中期。書中的論文於1963年在英國舉辦的夏季研討會上發表。讓人最興奮的幾篇論文的作者包括Christopher Strachey和Peter Landin等幾個人。Bob Barton在1967年他著名的先進系統設計課程中使用的參考書之一。

Herb Simon的《人工科學》,主要思考計算的一種更強大的方式 。以及「計算機科學」可能意味著什麼。

Ken Iverson的《編程語言》(1962年出版)。這本書與擴展Lisp的屬性有同樣的想法。而且和Lisp一樣,從這些非常古老的想法中學習而來的方法,更加關注其中獨特而強大的東西(今天我們已經知道如何更好地改進Lisp和APL,但此書中講述的深刻的本質,可能更接近這些方法的原始表現形式)。

我喜歡Dave Fisher的1970年CMU論文《編程語言的控制結構》- 尤其是前100頁。這些內容目前仍然是思考程序設計和實現的真正寶庫。

最近(上世紀80年代以來)的一些好書:

Kiczales等人的《元對象協議》。第一部分和示例是必須閱讀和理解的一部分內容。

Joe Armstrong基於自己的博士論文和多年對Erlang的寶貴經驗,於2003年出版了一本書。

對於充滿好奇心的人來說,這樣的書還有更多......

https://www.quora.com/Experienced-programmers-and-computer-scientists-what-are-some-really-old-or-even-nearly-forgotten-books-you-think-every-new-programmer-should-read/answer/Alan-Kay-11?share=1

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

李飛飛:我怎樣走上AI研究之路
重新思考圖卷積網路:GNN只是一種濾波器

TAG:新智元 |