如题
Erlang 的优势并不是变量不可变
Clojure 的强力点是 JVM 和 Lisp 宏的结合
个人使用的 Erlang 和 Common Lisp,少量 Haskell,近期入坑 OCaml。职业上用 Erlang 和 Javascript。 如果讨论喜欢程序,我喜欢 Erlang,OCaml 和 Common Lisp,比较讨厌 Clojure 和 Haskell。
如果问为什么,Erlang,OCaml 以及 Common Lisp 简单实用,减少代码量,减少 Bug。
Clojure 是这种
m = {}
m = (assoc m {:a => 1})
写起来容易,状态变化不那么清晰。
Erlang 的话是,
M = {}
M2 = maps:update(a, 1, M)
写起来麻烦,但状态辩护会更清晰。
如果真要选的话,其实个人比较倾向于后者,虽然个人写前者比较多。审阅代码的人压力也没那么大。
Lisp 需要有好的编辑器,例如 Emacs,然后有一个超级长,超级大的屏幕。
还有一个选择就是,写足够短小的函数。
会很伤眼睛的,并且我觉的 Lisp 这东西大神和新手写的东西差距悬殊(我做过 Common Lisp 的项目,被各种大神给虐菜了)。
职业上使用 Erlang 和 JavaScript。现在国内有 Erlang 公司吗?好像很少的感觉。
是的,国内用 Erlang 的公司很少。 我是前端,前端都有中间层,我的中间层用 Erlang。 以前公司用的是 Ruby 和 RoR
并且在非工作时间,我主要用 Erlang,Common Lisp,目前入坑 OCaml 中。