目前當紅的語言(C++、Java、Delphi、C#...)都差不多,在這些語言中轉換,其實有點無聊,也很浪費時間。直到我遇到REBOL語言,才真正重拾程式設計的樂趣,REBOL和我平常接觸的語言很不一樣,是相當簡單好用的語言、目前也不是我賺錢的工具。遇到REBOL之後,我感受到它獨特的魅力,這五年下來,對REBOL的喜好與日俱增。REBOL源自於Lisp(以程式語言理論來說,它們都是Functional Language),這使得我興起「尋根之旅」的念頭。

Lisp是LISt Processing的意思,在1958年由John McCarthy所設計,LISP語言特別擅長資料處理,目前最常用在人工智慧(AI)上。許多「古代」語言都已經銷聲匿跡,但Lisp還算相當活躍,這一點很難得。Lisp有許多的分支,以1975年出現的Scheme以及1984年出現的Common Lisp比較流行。經過擲骰子的結果,我選擇學習Common Lisp。

適用在人工智慧與其他的應用領域

Lisp往往被視為是學術用的語言(尤其常見用在人工智慧領域),但其實Lisp也適用於一般產業界。這本《Practical Common Lisp》之所以號稱Practical,正是因為這本書大量介紹Common Lisp在現實世界中的各種應用方式,算是第一本「入世傳教」的Common Lisp著作。《Practical Common Lisp》是目前最暢銷的Common Lisp著作,出版至今不過半年,卻已經成為Common Lisp使用者人手一本的書,可見這本書的重要性。

本書一開始完整地介紹Common Lisp語言,讓讀者徹底瞭解這個語言,最後用超過三分之一的篇幅介紹各種實際應用。本書有相當多應用程式的範例,透過本書的各個範例,你會漸漸體會到,運用Common Lisp寫程式是很酷的事。

Part I介紹Lisp語言,讓讀者瞭解語言特色,好為Part II的許多實際範例做好準備。Part I包括了Franz Store、Viaweb、Pandorabots、ASCENT的案例探討。

Part II展示應用,教你如何建立垃圾郵件過濾器,剖析二元格式,如何用26行程式(利用macro)建立一個單元測試框架,建立自己格式的資料庫,連接到關連式資料庫(MySQL),利用thread讓伺服器同時處理許多客戶的請求。

本書有一個範例程式,用Common Lisp建立可以產生HTML的程式庫,讀者可以瞭解使用Lisp來開發特定領域的語言如此容易,且為何可以如此完美地和Common Lisp整合在一起。

本書內容結束前,用Common Lisp開發出一個完整的MP3串流伺服器(streaming server),任何MP3客戶端軟體(例如Apple iTune,WinAmp),都可以利用Shoutcast通訊協定連接本書所開發出的MP3串流伺服器,直接播放音樂。此伺服器會利用Web Service的方式公開服務介面,任何人都可以輕易地寫程式接受它的服務。

範例充分顯示出Lisp的優點

本書利用「learning by doing」的方式,教你一步一步學會Lisp。本書會告訴你如何取得Lisp編輯器和環境(Lisp in a Box),並如何使用它。這本書之所以成功,範例是很大的因素,這些有趣且實用的例子,充分顯現出Lisp語言的優勢,讓人忘記這是一個古老的語言。書中提供的許多範例顯示,許多功能真是非用Lisp語言來寫不可,其他語言很難辦到。

我超喜歡作者的寫作風格,在閱讀此書時,你會感覺到一個幽默風趣且充滿熱誠的Common Lisp愛好者正在你身邊,他不斷地向你展示Common Lisp的用法,並告訴你許多他過去的經驗。一遇到問題,他會馬上察覺你的困惑,並立刻解答。臨場感十足!

受夠了Java、C#、C++、Delphi、Perl、Python、PHP嗎?想換換口味嗎?我強烈推薦這本《Practical Common Lisp》。

Practical Common Lisp

Peter Seibel /著
APress出版
售價:49.99美元
推薦:Amazon五顆星

《作者簡介》蔡學鏞

清華大學資訊工程碩士,現為寰震科技技術經理、美商歐萊禮出版社顧問、臺灣微軟特約專欄作家。曾任華碩集團軟體工程師、元智大學資訊系講師。

蔡學鏞曾擔任數個研討會講師(包括 JavaTwo、TechEd、資策會)。參與設計清華大學 Java VOD 系統,該系統並獲得第一屆 Java Cup 比賽校園組冠軍。參與設計 Java To .NET Migration,成為美國微軟十大成功案例之一。

蔡學鏞著譯有數本 Java 書籍,並在臺灣和中國的雜誌開闢技術專欄,專長的語言為 C#、REBOL、Java、C/C++。他的電子郵件信箱 xy.cai@msa.hinet.net

熱門新聞

Advertisement