初识●美丽的邂逅

    现在,一个程序员偶尔阅读一篇博文,从中获悉了一个基于消息传递的编程语言名字叫Erlang,然后开始像探索真正的颜如玉一样和它相识、了解,至于以后是否相恋或者开花结果,就看以后的际遇了。
   试想这种奇怪的语言,相等其实不是相等,变量实际上不能改变,它的语法,完全颠覆了我所了解的一些基于状态共享的编程语言,如Java、C、C++。它甚至不是我们所熟知的面向对象,唉,怪让人蛋疼的。
   作者只是简单地告诉我们它的基本语法,却喋喋不休地强调并发、分布和容错,还有一种叫做COP(面向并发编程)的方法。
   每种编程语言,都是在它的Fother或者Mother遇到某种问题,用传统的语言或者方案无法或者不能很好地解决时,才被赋予某种特别的功能和应用场景应运而生,Erlang当然也不例外。Erlang,这个单词的释义之一便是一个话务单位,譬如我们说的里程单位公里。一提到公里,大家都知道是和里程有关系,所以,一提到erlang,那当然就是和话务有关系了。
    Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。
    Erlang语言创始人Joe Armstrong当年在爱立信做电话网络方面的开发,他使用Smalltalk,可惜那个时候Smalltalk太慢,不能满足电话网络的高性能要求。但Joe实在喜欢Smalltalk,于是定购了一台Tektronix Smalltalk机器。但机器要两个月时间才到,Joe在等待中百无聊赖,就开始使用Prolog,结果等Tektronix到来的时候,他已经对Prolog更感兴趣,Joe当然不满足于精通Prolog,经过一段时间的试验,Joe给Prolog加上了并发处理和错误恢复,于是Erlang就诞生了。
    我们工作中要学会扬长避短,学习编程语言也一样,一下几条或许能成为你学习Erlang的理由:
    1.希望编写能在多核计算机上运行更快的程序。
    2.希望编写不停机即可修改的可容错性程序。
    3.希望尝试传说中的“函数式语言是否切实可行”。
    4.希望使用一种语言,在大规模工业产品中经过实战检测。
    5.希望做出高并发的页游服务端。
这只是个序,下面就开启学习Erlang的旅程了。
posted @ 2013-09-25 17:38  绝圣弃智  阅读(161)  评论(0编辑  收藏  举报