英文原文:Clojure - Functional Programming for the JVM
Clojure的MindMap图,分类得很精细,有助于浏览语言架构:
http://www.mindomo.com/mindmap/clojure-ec9937065b5243c0a59677aea8647246
[该贴被admin于2012-09-26 18:11修改过]
英文原文:Clojure - Functional Programming for the JVM
Clojure的MindMap图,分类得很精细,有助于浏览语言架构:
http://www.mindomo.com/mindmap/clojure-ec9937065b5243c0a59677aea8647246
[该贴被admin于2012-09-26 18:11修改过]
一种未来可能替代java或C#的语言,竞争性语言是Scala,性能比scala好,Clojure语法很口语化,都是做什么,适合做DSL,领域语言。它是Lisp语言的延伸。
在没有优化的情况下,Clojure总体性能没有比Scala好,从它们编译机制就可以看出来。优缺点请看Clojure用户调查
多谢,我那个排名只是摘抄的x86 Ubuntu™ Intel® Q6600® one core 单核这一列大概,不同处理器下是有区别的。最好让他们参考原文。具体排名差在哪里,你可以在帖子里面明确指出一下。
Scala保留面向对象类型理论,牺牲一部分函数特性,而Clojure相反,不过Clojure中类型可以直接使用java库实现,这又产生了问题:到底是类型调用函数,还是函数调用类型。
将面向对象和面向函数混在一起,类似关系数据库和对象搞在一起,总存在不匹配,不同思路,拥有不同的人群,是不是又在开始打越战。
在哪里?我去看看,语言排名确实搞错了,非常感谢,否则闹出笑话。
其实语言不重要,关键是思维方式,就如同思考方式不同,语言只是工具而已。
面向对象属于四大逻辑体系中类型理论,面向函数属于证明理论,习惯类型理论思维后,再去使用证明理论,很不适应,反过来也是。
逻辑共分四大体系,就如同如来佛开天辟地分三界一样,每个体系都能解释描述世界,证明派系大概看到Java C#等类型理论语言如此广泛,有点“嫉妒”?
类型理论和证明理论的区别是:
类型理论:A什么时候为正?
证明理论:A的证明是什么?
这两个很简单的语言次序不同,结果不一样,前者侧重A,关心A的状态,是什么事件促使其状态为正?后者是直接看证明过程,看函数,证明是第一。