學習 Common Lisp 太累了,想換個心情,學學 Scheme, 聽說這門語言極其精簡,又是 Lisp 的一大分支,仍是學院派所大力推崇的。程序員
開始的幾個特性確實不錯,算法
函數和變量使用一個命名空間。這個符合大多數語言的習慣。變量嘛,只有一個意思最好,二義性可不是什麼好事。數據結構
詞法變量和閉包的支持,這體現了語言開發者的實力,這個特性但是很重要的。閉包
符號的命名規範挺人性化的,問號結尾就是判斷類的函數,中綴箭頭就是轉換的意思。函數
但緊接着的幾個特性就讓人迷惑了。學習
符號對大小寫不敏感,也就是分不清楚大小寫。這是起初歷史的緣由致使的一個錯誤,居然也繼承了。唉,不知道怎麼想的。設計
散列,查詢表的實現,搞出了5,6個數據結構,程序員關心的是接口,而設計者關心的是實現,不要拿效率當藉口,來顯擺一下做者深厚的算法功力。這些東西原本就是動態變化的東西,紅黑樹和屬性表的區別對於使用的人有什麼要關心的嗎?這麼精簡的一個語言,在這個方面就開始顯擺的話,估計有用的東西也沒幾個了。繼承
果真,大量學術的術語出現了,像讀論文,給你個面子,就不說你缺少的應有的特性了。應該有的特性搞的和迷宮似的,想靠第一面就把人嚇到,來奠基權威。是愚蠢的表現。接口
仍是老老實實學 Emacs Lisp 吧開發