我们为什么如此兴奋地向你介绍Erlang呢?这门语言真正让我们感到特别的地方是什么呢?Erlang的轻量级并发模型是最重要的亮点,该模型独立于底层操作系统,具有实现大规模进程的可扩展性。Erlang利用其避免数据共享的方式,很完美地适用于各种多核处理器。这在解决同步问题和各种性能瓶颈上得到了充分证实,而在其他很多的传统编程语言中,这些问题往往复杂而且很难解决。Erlang语言的声明性质决定了其程序简短紧凑,并且其许多的内置特性使它成为实现容错软实时系统的理想语言。Erlang还拥有非常强大的整合能力,它可以无缝地和其他各种大型系统融合。这意味着将Erlang引入现有系统并逐渐取代常规性能较差的语言,并不是一件不可能的事情。 虽然Erlang面世到现在已有些时日了,但是其语言自身、虚拟机及其类库也随着软件产业需求变化的脚步而快速变化。在一个专业、热情并专注的团队的推动下,在世界各地大学的计算机科学研究人员的帮助下,Erlang在不断地改善并前进着。 什么特点和特性决定了Erlang的成功?Erlang是在怎样的情况下设计的?而这些又如何影响到它现在的样子?本章将一一解答这些问题。另外,在这一章中,我们还将从商业项目、研究项目和开源项目等不同个案研究中,来全面剖析Erlang如何真正应用到实际当中去。同时还将阐述,和其他一些语言相比,使用Erlang的一些独特优势。最后我们还将与你分享实施Erlang的最佳实践。 为什么我应该使用Erlang 什么因素使Erlang成为项目的最佳选择呢?这取决于你所要完成的具体项目。如果你需要开发数值计算系统、图形密集型系统或者运行在手机等客户端上的系统,那么对不起,你可能买错了书。但是,如果你的目标系统是一个高水平、高并发、健壮和按需定制的软实时系统,而且要求在充分利用多核处理器的同时,也可以和其他语言编写的组件集成,那么Erlang是你明智的选择。Sun公司的网络技术首席工程师Tim Bray在2008年7月OSCON的主题演讲上表示: 如果有人来找我,希望付给我很多钱用于构建一个大型的常年无误运行的信息处理系统,那么我会毫不犹豫地选择Erlang来实现它。 到目前为止,已经有许多公司正在将Erlang用于其真正的产品系统: Amazon使用Erlang实现SimpleDB数据库,用于作为亚马逊弹性计算云( EC2 )服务的一部分提供数据库服务。 雅虎将Erlang用于它的社区书签服务Delicious,它有500多万的用户和1.5亿的书签网址。 Facebook将Erlang用于其聊天系统服务的后台支持,它可以处理超过一亿数量的活跃用户信息。 T-Mobile公司将Erlang用于SMS和认证系统(T-Mobile是世界上最大的移动电话公司之一)。 摩托罗拉公司在公共安全行业的呼叫处理产品中使用了Erlang。 爱立信在其支持节点产品中使用Erlang,这些节点用于世界各地的GPRS和3G移动网络通信。 现在让我们来看看最受欢迎的Erlang开源项目: 用于模型和纹理的多边形网格处理的三维建模软件Wings 3D。 Ejabberd系统,它提供了一个基于即时消息(IM)应用服务器的可扩展消息处理现场协议(XMPP)。 CouchDB 是一种“无模式”的面向文档的数据库。它提供跨越多核和多服务器集群的可扩展性。 MochiWeb的类库提供了支持构建轻量级的HTTP服务器的功能。它用来支持强大的服务,如MochiBot和MochiAds,它们以动态方式生成的内容每天向数以百万计的用户提供服务。 RabbitMQ ,一个AMQP消息协议的实现。AMQP是一个新兴的高性能的企业消息传输标准。 虽然乌普萨拉大学多年来一直带头致力于Erlang高性能项目(HiPE)的研究 ,但是世界上许多其他的大学也并不落后。其中包括英国的肯特大学和匈牙利的Eötvös Loránd大学,他们都致力于研究Erlang软件的重构工具。西班牙的马德里理工大学与瑞典的查默斯大学和IT大学也正在一起研究开发基于Erlang特性的测试工具,而这些工具的问世将在很大程度上改变人们验证Erlang程序的方式。 随着这些公司、开源项目和世界各地的大学的研究开发,Erlang社区已经逐渐成为一个充满活力的蔓延六大洲的国际性社区。与此同时,博客、用户组、邮件列表以及专门的网站现在正帮助Erlang社区提升到下一个新的高度。 在历史上,Erlang最初是用于电信业的服务器端的编程,因此下面让我们追溯到Erlang最早被发明的20世纪80年代来了解Erlang的发展历史。
Erlang编程指南——为什么我应该使用Erlang
书名: Erlang编程指南
作者:
出版社: 机械工业出版社
原作名: Erlang Programming
译者: 慕尼黑Isar工作组 | Simon Thompson
出版年: 2011-3
页数: 444
定价: 79.00元
装帧: 平装
ISBN: 9787111303251