s*******n 发帖数: 344 | 1 clojure和common lisp区别大么,语法上。
我知道jvm是大区别。但是语法上,区别如何?
cl程序员多久可以上手cloj. |
z****e 发帖数: 54598 | 2 定义上手
真正上手干活光会语法还是不够
还是要会api和常用的工具,比如vert.x的clj接口 |
h*i 发帖数: 3446 | 3 我个人认为clojure 的Llsp特点不是难点,所以CL程序员不比Java程序员学clojure 有
什么优势。
★ 发自iPhone App: ChineseWeb 8.7
【在 s*******n 的大作中提到】 : clojure和common lisp区别大么,语法上。 : 我知道jvm是大区别。但是语法上,区别如何? : cl程序员多久可以上手cloj.
|
h*i 发帖数: 3446 | 4 难的是immutable data
★ 发自iPhone App: ChineseWeb 8.7
【在 h*i 的大作中提到】 : 我个人认为clojure 的Llsp特点不是难点,所以CL程序员不比Java程序员学clojure 有 : 什么优势。 : : ★ 发自iPhone App: ChineseWeb 8.7
|
p*****2 发帖数: 21240 | 5 clojure可以mutate data
【在 h*i 的大作中提到】 : 难的是immutable data : : ★ 发自iPhone App: ChineseWeb 8.7
|
h*i 发帖数: 3446 | 6 如果一个Java程序员需要一个月,CL程序员需要一个半月,因为CL程序员不懂JVM
★ 发自iPhone App: ChineseWeb 8.7
【在 h*i 的大作中提到】 : 难的是immutable data : : ★ 发自iPhone App: ChineseWeb 8.7
|
h*i 发帖数: 3446 | 7 可以是可以,不是那么用的。
最常用的mutable data type是atom,其次agent, ref只在游戏里面用,都很heavy,平
时不用的。
★ 发自iPhone App: ChineseWeb 8.7
【在 p*****2 的大作中提到】 : clojure可以mutate data
|
p*****2 发帖数: 21240 | 8 关键时刻还得用 跑不掉的
【在 h*i 的大作中提到】 : 可以是可以,不是那么用的。 : 最常用的mutable data type是atom,其次agent, ref只在游戏里面用,都很heavy,平 : 时不用的。 : : ★ 发自iPhone App: ChineseWeb 8.7
|
|
h*i 发帖数: 3446 | 9 mutable data也会用到,但不是必须的。一般atom用得最多,存全局状态方便。我写过
的几个Web应用一般都会用到几个atom,主要是为了方便。如果不图方便,可以用
component这种DI framework,这样就连atom都不用了。我一般是两者都用,常用到的
状态,比如DB connection啥的,用component,只只出现在一个地方的的状态用atom。
但如果是写libary,经常是一个mutable data都没有的。Clojure故意把mutable data
搞得很难用。最容易用的atom,也要搞一些boilerplate,先要定义,然后用的时候要
swap!, swap!的时候还要记得把值包在一个函数里面,最后要deref,一堆事要做。
基本上来说,Clojure日常的代码,bread and butter, 都是用immutable data的,这
个坎必须翻过去才能正常写代码,CL程序员和Java程序员都一样的需要翻这个坎。
【在 p*****2 的大作中提到】 : 关键时刻还得用 跑不掉的
|