當前位置:編程學習大全網 - 編程語言 - 對Lisp 新手來說,學習哪種方言,使用哪些參考書和開發軟件更適合

對Lisp 新手來說,學習哪種方言,使用哪些參考書和開發軟件更適合

Common Lisp和Scheme是Lisp家族的兩大主要方言,通用性比較好,ELisp和AutoLisp只能在特定的環境下使用,所以不推薦。

如果妳只是想學習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)

  • 上一篇:申領增值稅發票僅需2天?
  • 下一篇:很多大學都開設了工程專業,加拿大留學工程專業怎麽樣呢?
  • copyright 2024編程學習大全網