当前在线人数6495
首页 - 博客首页 - 海螺子狂想 - 文章阅读 [博客首页] [首页]
Re: functional programming lang里面 如果我说以後会大面积火
作者:hci
发表时间:2015-02-03
更新时间:2015-02-03
浏览:1443次
评论:0篇
地址:50.
::: 栏目 :::

是的,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 版

[上一篇] [下一篇] [发表评论] [写信问候] [收藏] [举报] 
 
暂无评论
 
用户名: 密码:
发表评论
评论:
[返回顶部] [刷新]  [给hci写信]  [海螺子狂想首页] [博客首页] [BBS 未名空间站]
 
Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有BBS 未名空间站(mitbbs.com) since 1996