Clojure入门教程: Clojure – Functional Programming for the JVM中文版

12-09-26 banq
徐明明翻译的Clojure入门教程: Clojure – Functional Programming for the JVM中文版

英文原文:Clojure - Functional Programming for the JVM

Clojure的MindMap图,分类得很精细,有助于浏览语言架构

http://www.mindomo.com/mindmap/clojure-ec9937065b5243c0a59677aea8647246

[该贴被admin于2012-09-26 18:11修改过]

1
lostalien
2012-09-26 13:41
不知道Clojure适合什么场景的开发。。。

banq
2012-09-26 13:54
2012-09-26 13:41 "@lostalien"的内容
不知道Clojure适合什么场景的开发 ...


一种未来可能替代java或C的语言,竞争性语言是Scala,性能比scala好,Clojure语法很口语化,都是做什么,适合做DSL,领域语言。它是Lisp语言的延伸。

wee
2012-09-26 14:29
的排名应该有误,可以参考一下这里

在没有优化的情况下,Clojure总体性能没有比Scala好,从它们编译机制就可以看出来。优缺点请看Clojure用户调查

banq
2012-09-26 15:30
2012-09-26 14:29 "@wee"的内容
http://www.jdon.com/44568的排名应该有误 ...


多谢,我那个排名只是摘抄的x86 Ubuntu™ Intel® Q6600® one core 单核这一列大概,不同处理器下是有区别的。最好让他们参考原文。具体排名差在哪里,你可以在帖子里面明确指出一下。

Scala保留面向对象类型理论,牺牲一部分函数特性,而Clojure相反,不过Clojure中类型可以直接使用java库实现,这又产生了问题:到底是类型调用函数,还是函数调用类型。

将面向对象和面向函数混在一起,类似关系数据库和对象搞在一起,总存在不匹配,不同思路,拥有不同的人群,是不是又在开始打越战。

wee
2012-09-26 17:19
在infoq上面吵的很凶的,不想看到的是后面已经成了辩论赛,我比较偏向scala,我觉得scala从社区和活跃上会好一些,各方面支持比如IDE,文档略好一些,scala一直在容纳很多新鲜的东西,还是值得一学的,至于是不是像某些人说的另外一个C++还要时间去衡量。用了OO这么久,突然丢了会很奇怪。至于FP特性,我对比过了,基本上都有,请看这里,最近2.10也打算加入macro,虽然推迟了。当然clojure也很好,如果学FP,用clojure更好一些。

banq
2012-09-26 18:41
2012-09-26 17:19 "@wee"的内容
在infoq上面吵的很凶的,不想看到的是后面已经成了辩论赛 ...


在哪里?我去看看,语言排名确实搞错了,非常感谢,否则闹出笑话。

其实语言不重要,关键是思维方式,就如同思考方式不同,语言只是工具而已。

面向对象属于四大逻辑体系中类型理论,面向函数属于证明理论,习惯类型理论思维后,再去使用证明理论,很不适应,反过来也是。

逻辑共分四大体系,就如同如来佛开天辟地分三界一样,每个体系都能解释描述世界,证明派系大概看到Java C等类型理论语言如此广泛,有点“嫉妒”?

类型理论和证明理论的区别是:
类型理论:A什么时候为正?
证明理论:A的证明是什么?

这两个很简单的语言次序不同,结果不一样,前者侧重A,关心A的状态,是什么事件促使其状态为正?后者是直接看证明过程,看函数,证明是第一。


SpeedVan
2012-10-22 17:31
个人感觉haskell学起来更有味,学会了更有种豁然开朗的感觉,当然复杂性是恐怖的

lshoo
2012-10-31 23:21
scala只是结合haskell和java的优点。

猜你喜欢