瞎扯淡 大佬们是喜欢 Erlang 这种变量不可以变的,还是 Clojure 这种变量可变的函数式语言?

yfractal · 2019年01月15日 · 最后由 davidgao 回复于 2019年01月24日 · 2800 次阅读

如题

不是大佬,喜欢可以赚很多钱的语言

变量不可变只是假象,你进程 id 指向的那个东西不还是可变的

😂 好像没什么所谓。

Erlang 的优势并不是变量不可变
Clojure 的强力点是 JVM 和 Lisp 宏的结合

个人使用的 Erlang 和 Common Lisp,少量 Haskell,近期入坑 OCaml。职业上用 Erlang 和 Javascript。 如果讨论喜欢程序,我喜欢 Erlang,OCaml 和 Common Lisp,比较讨厌 Clojure 和 Haskell。

如果问为什么,Erlang,OCaml 以及 Common Lisp 简单实用,减少代码量,减少 Bug。

对 lanzhiheng 回复

Clojure 是这种

m = {}
m = (assoc m {:a => 1})

写起来容易,状态变化不那么清晰。

Erlang 的话是,

M = {}
M2 = maps:update(a, 1, M)

写起来麻烦,但状态辩护会更清晰。

对 yfractal 回复

如果真要选的话,其实个人比较倾向于后者,虽然个人写前者比较多。审阅代码的人压力也没那么大。 👀 👀 👀

lisp 方便了编译器,麻烦了人。。

对 pynix 回复

Lisp 需要有好的编辑器,例如 Emacs,然后有一个超级长,超级大的屏幕。

还有一个选择就是,写足够短小的函数。

对 pynix 回复

然后 lisp 粉各种瞧不起大 JavaScript

对 davidgao 回复

人肉编译器。

对 pynix 回复

会很伤眼睛的,并且我觉的 Lisp 这东西大神和新手写的东西差距悬殊(我做过 Common Lisp 的项目,被各种大神给虐菜了)。

对 davidgao 回复

写着累。。。

对 pynix 回复

写着还好还好,Emacs 配置好了,还算可以。

对 davidgao 回复

职业上使用 Erlang 和 JavaScript。现在国内有 Erlang 公司吗?好像很少的感觉。

对 lanzhiheng 回复

是的,国内用 Erlang 的公司很少。 我是前端,前端都有中间层,我的中间层用 Erlang。 以前公司用的是 Ruby 和 RoR

并且在非工作时间,我主要用 Erlang,Common Lisp,目前入坑 OCaml 中。

对 lanzhiheng 回复

有,不多。广州游戏公司用的比较多。有些 im 也是用 erlang,比如去哪的 im,比如我们。

对 davidgao 回复

同是前端,不过现在主要写 Ruby。业余时间会考虑试试 Haskell

对 yfractal 回复

一时没反应过来,你说“我们”的时候。我就在想豆厂什么时候用过 erlang。

对 lanzhiheng 回复

已经弃坑 Haskell 了,还是希望自己少掉点头发,改用 OCaml 了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号