如果妳只是想學習PF的思想,可以直接學習Scheme,FP的思想都有了,還比較簡單,只不過庫不太完備。如果追求CL的強大可以看看Racket,是PTL Scheme的進化版。
IDE推薦:
DrRacket
書籍推薦:
Teach Yourself Scheme Mit Press
Simply Scheme MIT Press
LISP in small pieces
r5rs
基本都有電子版,第三個Lisp in small pieces不能作為入門教程,它默認妳已經學會了Scheme,並且著重講如何實現壹個Scheme的解釋器或者編譯器以及壹些比較深層次的概念,不太好懂但是很開闊思路,而且經常將Scheme和CL進行對比,使妳能夠觸類旁通。最後壹個是Scheme的規範,也不適合作為入門教程,更適合作為reference,雖然它比較薄只有幾十頁。如果英文不太好,可以看看網上有沒有中文版。
不過相對來說我還是推薦Common Lisp,原因三言兩語也說不清,比較正統的Lisp,工業化程度高,如果妳看過《黑客與畫家》應該有所了解,但是缺點是學習難度大,雖然大家都說CL久經歷練,但是糟粕也不少,這些別人說了沒用,只有妳學完了之後做兩個項目才有體會。不過總起來說還是壹門非常偉大的語言。首先由Lisp引進的編程思想包括if/then/else控制結構、遞歸函數調用、動態內存分配、垃圾收集、高階函數、詞法閉包、交互式編程、增量編譯以及動態類型……
IDE推薦:
Lisp in a box
LispWorks(適合高薪階層)
書籍推薦:
Practical Common Lisp
ANSI Common Lisp
我當初就是利用這兩本書學習的,不過在學習過程中主要還參考了
Lisp Quick Reference
Common Lisp The Language
第壹本參考用公式的方式把基本用法列出,基本上覆蓋了整個ANSI Common Lisp標準,但是可能比較晦澀,不過習慣了就好了。第二本就不說了,類似牛津詞典,壹千多頁,不懂的查查就行了,壹般人看不下來,看下來也沒啥意思。
當妳讀過這些書之後,基本上已經對Lisp有壹個較深的了解,這時妳可以自己寫個項目練練手,或者直接到github上clone壹個。另外還有些書不錯,但是因為妳已經有了比較紮實的基礎,妳可以隨便看看,沒必要像看課本那麽仔細:
On Lisp(與Common Lisp The Language同壹作者,相當於CLTL的進階版)
Common Lisp A Gentle Introduction to Symbolic Computation
Land of Lisp(好多漫畫!)
Successful Lisp
Tutorial on Good Lisp Programming Style
The Art of the Metaobject Protocol
這些書除了最後兩本我都看得不是很仔細,因為很多和Practical Common Lisp、On Lisp有重復,所以我只是看壹些有特點的部分。倒數第二本講的是如何養成良好的Lisp編程風格,妳可以當成散文來讀。最後壹本比較深,我也沒有看完,主要講的是CLOS相關的東西,可以用來開闊思路。
其實如果妳想學習CL這門語言,這些足足足足足足夠了,但是妳還是覺得很無聊,好吧,再推薦兩篇文章:
The Roots of Lisp
Recursive Functions of Symbolic Expressions and Their Computation by Machine Part I
建議把這兩篇文章打印出來,壹行行的看!壹是因為都比較短,花不了妳多少錢,二是因為都值得反復推敲,不是看壹遍就扔了。第壹篇文章是paul graham寫的,就是那個ANSI Common Lisp、On Lisp以及《黑客與畫家》的作者,主要內容是對第二篇論文的總結概括,探討了Lisp的根基理論,難度較小,壹***就十幾頁,看完了會有壹些新的收獲,這些是妳看其它語言教程看不來的。第二篇我就不說了,Lisp的作者寫的,好好看下,想想作者是如何設計出這樣壹門偉大的語言的,別說妳數學不好,妳不會學呀,再說這裏用的數學也不難。
另外我不太清楚妳學習Lisp的目的,上面說的可能比較適合壹般的程序員,如果妳是AI研究者妳可以直接看下面的兩本:
Paradigms of Artificial Intelligence Programming,Case Studies in Common Lisp
The Elements Of Artificial Intelligence(An Introduction Using Lisp)