发布网友 发布时间:2022-04-26 14:19
共2个回答
热心网友 时间:2022-04-19 02:21
joy of clojure, / clojure programming 这些书可以告诉你一堆理由。以下是我从JAVA转向Clojure的原因:
无障碍调用现有的java包
数据结构简单明了(map/list/vector)
function作为一等公民,可以做很多java中不好做或做不到的事情
第三方包通常都很小,而且包中的clj是以源码形式存在,在emacs/idea中查看引用包的源码十分方便
做WEB项目有ring规范,request/response都以map形式呈现,比J2EE那servlet/resquest/response啥的不知简明多少倍
JAVA中听来、讲来都拗口的设计模式几乎都溶于Clojure自身语言的特性中
具个类似于JAVA中AOP的例子,够简单吧
(defn wrap-exception
[func & [call-back]]
(fn [& args]
(try
(apply func args)
(catch Exception e
(warn e (.getMessage e))
(if call-back
(apply call-back e args))))))