是的,LISP好学。语法简单,就没有什么语法。
在过去只有单色显示器的时候,括号太多可能是个可读性问题。现代的编辑器都是彩色的,每层括号都有不同的颜色,就不存在这个问题了。而且LISP程序员读LISP代码的时候是看不见括号的,代码的缩进更重要,这个和其他语言没有什么区别(python?)。
而在写代码的时候,有括号是有很大的帮助的,用paredit这种类型的工具,感觉不是在编辑一串文本符号,而是在操作一个个代码的语义单位。总的来说,感觉更接近人的高层思维一些。
我个人觉得Clojure最大的好处是对数据的处理非常的直观,不像其他编程语言,数据的模型是放在程序员的脑袋里的,需要自己去想象数据长啥样,而在Clojure里面,所有数据结构都是可视化的,和JSON差不多:
比如()是表,和其他LISP不同,Clojure里面很少直接用表来作数据结构,一般用vector和map, 也就是[]和 {}。比如在代码里面直接就写
[{:id "hci" :work nil :location "CA"}
{:id "goodbug" :work "netflix" :location "CA"}]
加上一堆常用的函数,map, reduce, filter,等等,处理数据很爽,很适合数据处理类的应用。
总的说来,Clojure的哲学是能用数据的地方就不用逻辑,能用函数来表达的逻辑就不用宏来表达,Data > Function > Macro, 这些都很合我意。Clojrue程序感觉很灵活很直白,改起来很容易。代码短,作一个事情总有一个idomatic的写法,不鼓励人乱写,这样读别人的代码也很容易。
【 在 fantasist (fan) 的大作中提到: 】
: lisp容易学???
提示: 本博文来自于 Programming 版