首页 新闻 论坛 小组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员

logo

您的位置:CSDN 首页−>新闻频道−>正文

Erlang是未来用于并发性的Java?

2008.01.24  来自:infoq中文站      共有评论(0)条 发表评论    收藏

Erlang进程间通讯的视角完全不同,而且Ralph说:即便并发性的Erlan风格可以很容易的增加到其他语言中,这些语言还是很难竞争。因为Erlang是专为电信系统而构建的,所有这些方面都重要,并且爱立信已经构建了一个Erla

未来的计算是并发计算。现今甚至桌面CPU也是多核的,当客户给他们的服务器购买了越来越多的CPU时,他们期望其应用伸缩自如以利用他们的新投资。但是今天的许多软件系统并不能做到这一点。

处理并发计算是件困难的事情。但是在普遍使用的编程语言中,并发机制与同一语言的许多其他抽象相比是低层机制,对解决这一问题没有帮助。处理并发性需要做许多工作,但是有使其更简单的方法。

Ralph Johnson 撰写了一篇关于 Erlang 将成为 下一个Java的博文。Erlang进程间通讯的视角完全不同,而且Ralph说:即便并发性的Erlan风格可以很容易的增加到其他语言中,这些语言还是很难竞争。

我不相信其它语言能迅速赶上Erlang。对它们来说,加入像Erlang这样的语言特征是很容易的。但这将花费他们大量的时间来构建这样一个高质量的VM和成熟的并发性与可靠性类库。因此Erlang很自然会成功。如果你想在未来几年构建一个多核应用,你应该看看Erlang。

而且可能还能得到更多的额外好处。Erlang的创造者——Joe Armstrong,写过面对可伸缩性、容错性以及运行时可更新系统所带来挑战的一石三鸟的解决方案。他说即使这些是不同类型的问题,

一个容错的系统可以很容易成为可伸缩的系统,也很容易成为能够进行热升级(in-service upgrade)的系统.

Armstrong把这一切都归功于Erlang有一套恰当的故障探测和稳定存储的原语(primitive)。因为Erlang是专为电信系统而构建的,所有这些方面都重要,并且爱立信已经构建了一个Erlang系统,拥有99.9999999%的正常运转时间。即每年31毫秒的停机时间。

Erlang不具有任何共享状态,因而呈现出与主流语言不同的并发性。其进程是非常轻量级的,一个进程与另一个进程通过发送消息进行通讯。与那些使用共享内存来完成进程或线程之间通讯的系统不同,这一架构使伸缩性和分布式系统成为可能。为深入研究这种并发方式,Slava Akhmechet撰写了对这一概念很好的介绍(不需要有Erlang知识)。

或许是用不同的方式来解决并行问题的时候了?或许是学习一门新语言的时候了?

发表评论 0条】
其他文章
相关文章
最近评论
正在载入评论列表...
热点评论

     
    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号 世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved