Erlang/Elixir Elixir 的一些想法

chenge · 2018年08月24日 · 最后由 paulZzhang 回复于 2018年10月15日 · 9119 次阅读

回顾

接触 Elixir 一年多了,入门只需要一周,真正适应一个新的语言大概还是要一年多吧。我发现 Elixir 从 TIOBE 排行榜百名消失了,似乎我原来的估计过于乐观了。国内也比较冷清,不过 Elixir 还是在继续发展。

现在

Erlang 是一个古老而神秘的城堡,Elixir 为它打开了新的一扇门,迎来了更多的寻奇访幽的游客。

我对 Elixir 的态度没变,仍然是我的首选。

新出现的 mipha 论坛看上去不错,可惜也很冷清。

一位好老师

最近看视频发现了一位很好的老师,Grossi,他的演讲相当清晰:

Processes and Supervision in Elixir by Steve Grossi @ Lessonly

他介绍了 Elixir,并用两个例子演示了并发,以及 GenServer,GenStage 这些比较难懂的东西。

我补充一下,elixir 的返回与 ruby 不大一样,一开始感觉费解。可以查询 GenServer 文档,就明白了。

用命令,b。

b GenServer.handle_call

返回结果如下,result 才是结果,new state 是更新状态。

{:reply, result, new_state}

未来

希望 mipha 论坛能热闹起来,大家多分享一些东西,期待 Elixir 会议早日来到中国。

有 GenStage 和 GenEvent 的是啥关系? 可以简单理解 GenStage 并发更好,更友好一些?

yfractal 回复

GenEvent 似乎文档上淘汰了

chenge 回复

Erlang 淘汰了 gen_fsm

gen_event 似乎是没有。。。

yfractal 回复

大神也有研究 erlang.

ruby_sky 回复

不是大神。。。

公司有部分服务是 erlang 写的。

感觉还是 Elixir 既是小众语言,又没有什么杀手级应用的缘故。像 Web 开发,Rails 发展到现在都很成熟,没有什么理由非要用 Phoenix;至于做高负载系统,Go、C++ 感觉够用了,而且基于招人考虑,感觉会选 Elixir 的基本没有。 不过我还是很喜欢 Elixir,第一次接触函数式编程的缘故,Pattern Match 感觉很新鲜。这几天刚看完了官网的 Guide,接下来准备看完 Phoenix 的 guide。Elixir 作为兴趣还行,如果想靠它找工作怕是不容易。

IchiNiNiIchi 回复

兴趣相当重要,一起加油。可以吸取思想,用到工作语言中。

生态才是关键。 js 为什么火?因为 npm 上什么都有。

这种小众语言除非有个代码狂魔一样的干爹,否则设计的再好也没用。因为没那么多时间造轮子。

同样的事情你可以对比 React Native 和 Flutter。 后者的生态刚起步,很多轮子缺乏功能、测试。遇到坑只能默默吞下。

我觉得有时间还不如拥抱 JVM 语言和 Python。

imwildcat 回复

生态是可以改善的吧。Elixir 代表的是未来,吸取了各个语言的长处。当然不是说别的语言没有未来,呵呵。

有一个数据,github 上的贡献者 Elixir 有七百多了,Node 是两千多,不知道能否说明一些问题。java 和 python 似乎都不在 github 上。

Java 听说增加了函数型的特征,不过 Elixir 选择了函数范型,我支持这个做法。

《Programming Elixir》那本书感觉写得不好,内容组织得不好,反而重点没讲清楚。 而且过于炫技,用了一些难度大的例子,让初学者有挫败感,退而止步。

应该用一些简单的例子,重点讲清楚并发编程的基础就是 Process。

11 楼 已删除

支持,最近也在学习

楼主可以去看一下 elixir 的 slack channel,非常的活跃,每天都是几百条的消息

mipha 这个项目我还在持续开发,目前运行稳定。

作为 Elixir 爱好者,希望 Elixir 大神可以运营起来。也希望可以提一些建议或 PR。:-)

Zven 回复

如果条件不具备就暂缓吧,还是有个过程,水到渠成。 mipha 不错。可能的话,你先运营吧,别人才好参与啊。就是一个域名和阿里云的费用吧,还缺什么跟大家提吧。

我现在还不能完全看懂 phoenix 代码,今天试验 Ecto+sqlite 也通不过,困难重重。

@chenge 建议从 Ecto + PostgreSQL 搭配入手。Ecto 对它的支持最好。

darkbaby123 回复

好的,这就做。谢谢!

18 楼 已删除

qq 交流群

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