32位工程师能支持4.5亿的用户,这是被Facebook收购的WhatsApp公司,其原因在于Erlang语言,这是一个在80年代推出的编程语言。
使用Erlang语言你能够建立一个连接很多用户的消息应用,数百万的并行会话能够同时存在,几乎没有当机,虽然其他语言也能管理这么多会话,但是它们都不是自然的多任务系统。
来自WHY YOU SHOULD LEARN ERLANG一文认为,Erlang最了不起的特点就是变量一旦分配值以后就不再变化,如果你来自于命令式编程世界,比如Java PHP .NET或Python,这些语言的变量一旦分配值以后就一直可变,Erlang这个特性其实阻止你一些事情,使得你跟踪调试追查一个变量的值变得容易,而不再像以前一样飘忽不定。
ACTOR模型是ErLang并行编程的一个特点,具体可见:http://www.jdon.com/actors.html,Actors是一个轻量级的对象,通过发送消息实现交互。每个Actors在同一时间处理最多一个消息,可以发送消息给其他Actors。目前Erlang这一Actor模型已经被广泛应用在Scala的Akka等并发编程中。
Erlang虽然有如此傲人的成绩,你可能迫不及待地采取Erlang语言,但是现实情况可能还要复杂一些,围绕Erlang的开发者社区一直规模很小,大多数集中在欧洲,该语言语法固然有点不可思议。“如果你需要分析复杂的数据原型或构建一个简单的Web应用程序,有更好的工具可选”。
当前一些新项目正在努力致力于让Erlang语言类似Rails简化Ruby那样,使得Erlang更加对用户友好。
物联网方面一些智能爱好者正在将Erlang作为MQTT(一个轻量级协议,用于传感器之间传输消息的一部分)一部分,如果你能够通过SMS短信息调节你的自动调温器,那么你可以使用WhatsApp来控制它,是不是呢?
[该贴被banq于2014-02-25 14:47修改过]