Erlang/Elixir 难道你们还没学 Erlang ?

lgn21st · 2013年01月05日 · 最后由 wudixiaotie 回复于 2014年12月03日 · 7913 次阅读

如果真的想学点新鲜的,为什么不学 Erlang 呢?

首先相比较其他两个语言来说:

一个是 Lisp 的二奶,与其不如直接学老祖宗 Lisp 或者勉强点 Common Lisp(2013 年我开始学 Lisp,到底领略一下学过的人所说的神奇之处)。 一个是学院派的纯函数式语言,老学究们搞出来的语言,用来做研究做学术,现在貌似也就只有论文里才用用了。 Erlang 最开始就是为了使用而生,爱立信为了研发下一代(当时)的电信产品而生(现在好像用 Erlang 最多的也是电信和银行业)。

我不会那 Erlang 跟其他语言进行什么比较,每个语言都有期精华和糟粕的地方,我就从这一年多使用 Erlang(实际做项目)来说说你能得到什么:

进程化的编程思想 从小我就知道 C 是过程式编程,长大了又知道了 OO,还能有什么新鲜的吗?就是这个,把你要解决的问题拆分成进程(请自行搜索 Erlang 中的进程)来解决问题,这可是我从来没接触过的。

崩溃恢复机制 现在的服务软件都是需要不间断运行的,如果程序崩溃了怎么办?那就让他崩溃好了,这就是 Erlang/OTP 使用的思想,一个进程崩溃以后会由其他的进程负责擦屁股,重启或者恢复,总之这是在语言级别上提供给开发者的好处而不是还要另外整一大堆解决方案,用 Erlang 做项目精髓都在 OTP 当中,很多现在鼓吹的编程方式 Erlang 很早就有了。

分布式机制 想把最开始写好的程序扩展到多台或整个集群?那用 Erlang 你几乎不用改框架或者甚至一行代码,Erlang 的进程编程方式对于程序员来说是透明的,你发送信息的接收进程很有可能就在地球的另外一边,这些都不需要你操心。

处理二进制的好手 Erlang 一开始作为电信产品的编程语言,处理二进制是必须给力的,具有专门的二进制处理语法,可不简简单单是与或非这种操作,谁用谁知道。

函数式编程 这个就不多说了,函数式编程理解这个是必须的,好玩也好玩在这里。

近些年用 Erlang 来实际做东西我想比其他几门语言都多吧(也许我孤陋寡闻),阿里和企鹅还有很多页游都在用。

我也接触 Erlang 时间不长,实际做的项目也都是开源的,自己做着玩而已,有兴趣的可以参考:

hpyhacking/openpoker 扑克类游戏服务端 hpyhacking/webtekcos WebSocket 服务端

其实说那么多也没有,想学新东西的自然会去找东西学,2013 我要学 Photoshop 和 Lisp。

没人在乎你说了什么~

这是 @hpyhacking 的一篇帖子,我从 RSS 中找出来的。

Photoshop 和 Lisp 跨度很大呀,:)

#2 楼 @kevin__liu 也不一定大啊,GIMP 的 script-fu 用的是 tinyscheme

#1 楼 @lgn21st 没想到你还有备份~ 呵呵

#3 楼 @bhuztez 好吧,这个我不知道,我的目的主要是支持一下发帖子。

我要学所有没有学过的,哈哈!

慢慢来!!一点一点!!

erlang 除了电信用的比较多,那是爱立信当初就是为了电信搞出来的东西。 还发现游戏后台用的很多!尤其是页游!!还有那种在线网游!!

喜欢 erlang 和 ruby 的还可以关注一下elixir,建立在 erlang 虚拟机上,拥有类似 ruby 的语法结构

想会但还不会 Photoshop 的 rubiest 飘过

学了点 只记得刚接触模式匹配让我长见识了

之前关注的时候中文书基本就只有老爷子的还有一本 有兴趣可以找来翻翻或者上网搜老外的 screencast

目前主要做 ruby, erlang 相关项目的开发...

给个入门的或者介绍性的资源吧~

我接触 Erlang 时间也不长

慢慢来!!一点一点!!

<<1:8/binary>>.

这种写法为什么是错的呢?

<<1:8/unit:8>>

这种为什么就没问题?

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