http://gigamonkeys.com/book/introduction-why-lisp.html
摘要
- Motto: The programmable programming language. 要啥新功能就自己加吧, 不用擔心核心沒有。
- Lisp 是可以被編譯成 native code 的, 這意味著它可以跑得更快 (相較於用 interpreter 執行)。
- 用 Lisp 可以寫得更快 (作者舉了他老爸和他自己幾個例子)。
- Scheme 和 Common Lisp 不同。前者較純易於用作教學, 但較不跨平台, 較難用來寫產品 (solve real world problem); 後者則相反, 擁有成熟的資源, 包含 GUI 函式庫、multi-thread、socket 等。
疑問
- CL 可以跑得多快? 依這裡的數據來看, 是 C 的三倍慢, 似乎挺快的 ( Python3 是 43 倍慢)。不知實際應用時如何?
- CL 的函式庫是否齊全? 主流語言 (C/C++, Java, Python, Ruby, Perl, PHP, Java Script 等) 有龐大成熟的函式庫, 量多又穩。
- CL 的入門門檻?
- 若 CL 真的如此強大, 也不需擔心上述問題, 為啥 CL 沒有盛行?
Common Lisp 的問題:
回覆刪除1. S-expression 很多人會怕
2. Common Lisp 語法老舊,它還是大小寫不分的,而且對於現代常用的如 Hash 寫起來不太人性化。
3. Common Lisp 產品太多,缺乏一個整合好用的,尤其在 Windows 平台上。GUI、multi-thread、socket 這些不在 Common Lisp 標準函式庫內,變成各家自行擴充,沒有共通。