回顾自己 2016 年的技术方面,Elixir 应该最值得一说了。这一年,写了一些、参与了一些、看到了一些、想了一些,正好在这个时间点记录下来,算是对此的总结,也或许能从我的视角看到 Elixir 的一些发展。
开源项目
ExChat
grpc-elixir
写 grpc-elixir 的过程还是有不少收获的。最大的感受是,Elixir 虽然年轻,但工具链简直完胜 Erlang,想想 Erlang 发展这么多年,OTP 做的是好,但工具链实在不怎么样,火不起来不是没有道理啊。而且我能感受到,Elixir 的生态已经在慢慢地超过 Erlang 的了,首先 Erlang 的库 Elixir 都能很方便地使用,另外我注意到一些高质量的库已经先考虑 Elixir 而不是 Erlang 了。其实我在刚开始写 grpc-elixir 的时候就想过要不要也支持 Erlang,毕竟有些逻辑应该是可以公用的,但考虑到效率问题,还是决定先用 Elixir 写了。
The Zen of Elixir
社区
Elixir Shanghai
搞线下活动最有意思的就是认识各种各样的人了,既有之前比较熟的 Ruby 社区的,也有完全不认识,只是因为喜欢 Elixir 而凑在一起的,之前可能是 Erlang、Python、Go、Java 等后端背景,甚至是前端、客户端的同学。也让我感到办这些活动是很有意义的,至少我自己觉得每次大家聚在一起,听演讲者讲各种有意思的主题以及其他同学精彩的讨论,都会受益匪浅,然后鼓励我保持不断地学习,再争取分享给大家。
当然也学到了很多,除了直接从其他人那里学到的,因为怕主题不够,我经常只能自己充数,迫使自己一直要有新的东西拿出来分享,就怕每次讲的太水被大家嫌弃了。
Elixir China
除了这些,最近还经常给 Elixir China 的代码提 issue 或者 PR,自己有空就 fix 一些 bug 或者加一些功能,既有了写代码的机会,又能给社区做点贡献。虽然我不觉得现在功能的完善是 Elixir China 当前最需要的(内容应该更重要),但还是能够改善用户体验,让大家更乐意去用。比如我在用的时候就发现不能直接上传图片、分享到微信的 title 不是帖子标题等可以改进的地方,都会有想要完善的冲动,于是就尝试去修复了。
话说回来,为什么会产生这些心理变化,我想应该是在运营 Elixir Shanghai 的原因,深知社区的运营靠一个人是搞不定的,还是需要大家的参与,而这里的“运营”基本等同于“参与”,任何人发一些不错的帖子或者是添几行简单的代码都是在“运营”这个社区,都是对社区很有帮助的。
生态
我们常说,一个语言本身好不好可能并不会成为我们是否使用它的决定性因素,很多时候还要看它的生态。那 Elixir 现在的生态发展的如何呢?我不敢说看到了全部,但还是看到了很多有意思的事情。
Elixir 2017
2017 年这些又会有什么变化呢?不知道,但应该会变得更好。
有些人说将来 Elixir 会变得很流行,有些人会问将来到底什么时候会来。我当然也希望 Elixir 会真的变得很流行,而且越快越好,但不管那一天是哪一天,甚至会不会到来,我还是会继续保持关注和学习,毕竟这是门值得学习的语言,毕竟我可以愉快地以高的效率写下高效率运行的代码。