Lisp流行不起來,我認為可能有以下幾個原因:
1.社區,資料和用戶少,主流語言遇到一個問題,網上搜索一下,就能找到答案,因為用的人多,別人已經遇到過了。但是Lisp很難找到現成的答案,你得自己去琢磨,入門更難了。Java,Python,C/C++,.Net等資料鋪天蓋地,有問題也可以去問問。Lisp不一樣。
2.語言看起來簡單,但學習到干活程度很難的,往往需要很強的數學功底才行。這就和其他主流語言不同了,學幾天就可以慢慢開始干活了,逐漸深入。還沒有見過《Lisp項目實戰》這樣的書吧。一般到高階函數就卡住了,更何況閉包,continuation和宏了。
3.因為語法過于簡潔,造成了其他方言太多,各個編譯器又有自己的特色,同樣的語法寫出來的代碼,語義各異,互不兼容。也就是說,在代碼層面上的可移植性不佳。子類版本太多。
4.與主流語言的計算模型不同。主流語言的計算模型是圖靈機,而Lisp是λ演算,初學者經常不自覺的去進行類比,結果越搞越亂。當然不論主流語言還是Lisp,編譯器都會編譯成處理器的指令序列,但這是編譯器的事情,語言的使用者不需要關心。