`
strugman
  • 浏览: 21710 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Erlang语言学习资源

阅读更多

提起Erlang语言,相信许多人都会挠头,因为它实在是太陌生了。在2007年6月由TIOBE Programming Community提供的程序语言排名中,Erlang占有率为0.080%,排名第49位。与之形成鲜明对比的是,Java以20.025%的占有率高居榜首,紧随其后的是C(15.967%)、C++(11.118%)、VB(9.332%)、PHP(8.871%)、Perl(6.177%)、C#(3.483%)、Python(3.161%)、JavaScript(2.616%)、Ruby(2.132%)。

相对于传统老牌“大佬”语言相比,Erlang语言绝对算得上是一种“小众”语言,但其未来的发展前景却是无法估量的,因为它可以解决传统语言很难解决的并行计算中的难题。Erlang是一种函数式(变量只能赋值一次)、强类型、动态类型(变量类型在运行时决定,代码需要编译后才能执行,与Python,Ruby等不一样)、面向并发(Concurrency Oriented)的语言。《程序员》杂志曾在去年9、10两期杂志中对Erlang语言进行了介绍,《一场茶杯里的风暴》和《轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统》。下面内容为两文中对Erlang的一些介绍。

Erlang最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅只是一两个环节,比起C程序的线程切换要高效得多得多了。使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果你需要更高效的话,字节代码也可以编译成本地代码运行。

内建的并行计算模型使得Erlang非常适合编写多人在线服务器。具有良好伸缩性的大型多人后台系统用Erlang是这样构建的:由很多被分配不同任务的“节点(Node)”组成的“集群(Cluster)”。一个Erlang节点就是一个Erlang虚拟机的实例,你可以在一台机器(服务器,台式机或者笔记本电脑上运行多个节点。Erlang节点自动跟踪所有连接着的其他节点。要添加一个节点你仅仅需要把它指向任何一个已建节点就可以了。只要这两个节点建立了连接,所有其他的节点马上就会感应到新加入的节点。Erlang进程使用进程ID向其他进程传递报文,进程ID包含着运行此进程的节点的信息。因此进程不需要理会正在与其交流的其他进程实际在何处运行。一组相互连接的Erlang节点可以看作是一个网格计算体或者一台超级计算机。将大型多人在线游戏里的玩家,NPC以及其他个体抽象为很多并行运行的进程是最理想的,但是通常并行运算的实现让人十分头疼。Erlang天生就是简化并行计算的实现。Erlang语法里的比特操作让二进制操作变得异常简单,极大发挥了Perl和Python的打包/解包结构。使得Erlang非常适合操作二进制网络通讯协议。

 

附录:Erlang资料
Erlang官方网站,建议订阅其邮件列表
http://www.erlang.org/

分布式、并行计算语言Erlang 学习笔记
http://computebank.spaces.live.com/blog/cns!955689A6CF175077!326.entry
http://computebank.spaces.live.com/blog/cns!955689A6CF175077!356.entry
http://computebank.spaces.live.com/blog/cns!955689A6CF175077!439.entry

Erlang论坛
http://groups.google.com/group/erlang-china

Yariv's Blog: Adventures in Open Source Erlang
http://yarivsblog.com/

Erlang + Yaws vs. Ruby on Rails
http://yarivsblog.com/articles/2006/07/11/erlang-yaws-vs-ruby-on-rails

Erlang写的服务器Yaws,据说并发能是apache的15倍
http://yaws.hyber.org/

Jabber: Open Instant Messaging and a Whole Lot More, Powered by XMPP
http://www.jabber.org/

一个Erlang的Jabber服务器实现
http://ejabberd.jabber.ru/

 

分享到:
评论

相关推荐

    erlang 语言程序设计

    #### 五、学习资源与进阶指南 为了更好地掌握Erlang语言,建议从安装环境开始,逐步熟悉其基本语法和编程技巧。《Programming Erlang: Software for a Concurrent World》是一本非常好的入门书籍,它不仅介绍了...

    erlang入门学习经典资料(很不错)

    ### Erlang 入门学习经典资料解析 ...对于初学者而言,理解Erlang的历史背景及其核心特性对于掌握这门语言至关重要。无论是对于电信行业的专业人士还是对分布式系统感兴趣的开发者,Erlang都是一门值得深入学习的语言。

    Erlang学习资源

    用于erlang学习资源 一些基本的语言

    erlang资源

    这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入理解和学习Erlang语言的关键资料。 《Erlang并发编程》这本书可能涵盖了以下知识点: 1. **并发模型**:Erlang的并发...

    erlang压缩包.rar

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时系统。它由瑞典电信设备制造商Ericsson开发,用于构建大规模、高可用性的电信系统。在本文中,我们将深入探讨如何在 CentOS 7 64位操作系统上安装和配置...

    Erlang游戏程序学习完整PDF手册

    通过深入学习这份手册,开发者不仅可以掌握Erlang语言的基本用法,还能理解如何利用其特性来优化游戏开发流程,提升游戏服务的稳定性和性能。对于想要涉足Erlang游戏开发的程序员来说,这是一份宝贵的资源。

    xiandiao_erlang_Erlang课后习题_

    【Erlang编程语言及其应用】 Erlang是一种并发式、函数式的编程语言,由瑞典电信设备制造商Ericsson开发,...通过实际操练这些课后习题,学习者不仅可以深入理解Erlang语言,还能培养出在实际项目中解决问题的能力。

    erlang的学习pdf

    #### 八、进一步学习资源 1. **官方文档**:Erlang官方网站提供了详尽的文档和教程。 2. **社区论坛**:参与Erlang相关的社区论坛,与其他开发者交流心得。 3. **书籍资料**:如《Programming Erlang: Software...

    两本erlang电子书

    这两本电子书——《Erlang and OTP in Action》和《Erlang程序设计》——都是深入学习Erlang语言和OTP的宝贵资源。 《Erlang and OTP in Action》这本书主要分为三个部分。第一部分介绍Erlang语言的基础知识,包括...

    Erlang编程中文学习手册.pdf

    根据提供的文件信息,这份Erlang编程中文学习手册涵盖了Erlang编程语言的基础知识和一些进阶内容...通过逐步引导学习者理解Erlang的语法、编程范式和高级特性,学习者能够建立起坚实的基础,并逐步深入掌握Erlang编程。

    erlang编程 Introducing Erlang

    "Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心概念和特性。 ### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。...

    Erlang_CNode用户指

    这些资源可以帮助用户进一步深入学习Erlang语言和相关技术,提升开发技能。 总结来说,Erlang_CNode用户指南是为希望将Erlang与C语言结合使用的开发者准备的宝贵资料。它不仅涵盖了如何在C环境中搭建和使用CNode,...

    erlang官方资源包

    Erlang是一种面向并发的、通用的编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。OTP(Open Telecom Platform)是Erlang的开源框架,提供了各种库和设计模式,帮助开发者构建高效...

    Erlang编程

    作者在Erlang语言的开发中扮演了核心角色,因此他对Erlang的理解深入且独到。这本书内容浅显易懂,非常适合初学者,目的是让读者能够快速理解并开始编写Erlang程序。 #### 关键标签 - **Erlang编程**:指的是使用...

    erlang趣学指南

    Erlang趣学指南是一本面向初学者的入门书籍,旨在帮助读者从零开始学习Erlang语言的基础知识和编程技巧。 这本书的作者Fred Hébert是一位在一线拥有丰富实战经验的工程师,他通过轻松幽默的文风和清晰的讲解,向...

    erlang程序设计中文版

    Erlang语言特别适合需要并发处理和高可靠性的场合,例如电信行业、实时交易系统、云服务等。 Erlang的设计理念来自于对并发结构和并行处理需求的认识。CPU多核化和云计算的发展趋势要求程序设计语言能够有效地利用...

    Programming Erlang.pdf

    根据提供的文件信息,我们可以提取并总结出以下几个关键的知识点: ### 1. 关于Erlang编程语言 **Erlang**是一种通用、并发、容错的编程语言...对于希望了解或学习Erlang的开发者来说,这本书是一个宝贵的学习资源。

    erlang programming

    1. **Erlang语言基础**:Erlang是瑞典电信设备制造商Ericsson为解决实时通信系统需求而开发的。它采用函数式编程范式,强调纯函数和不可变数据,以及模式匹配和递归等特性。编程+Erlang.pdf可能会详细介绍Erlang的...

    二郎助手erlang开发工具、erlang编辑器

    作为一个基于VS2005开发的项目,它继承了Visual Studio家族的强大编辑器功能,并且针对Erlang语言进行了优化。这意味着开发者可以在一个熟悉的环境中进行Erlang编程,而无需适应新的开发环境。 在二郎助手中,你...

Global site tag (gtag.js) - Google Analytics