产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

  • 2007-08-15
  • 本文字数:869 字

    阅读完需:约 3 分钟

未来的计算是并发计算。现今甚至桌面 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 知识)。

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

查看英文原文: Is Erlang the Java for the concurrent future?

2007-08-15 20:475009
用户头像

发布了 150 篇内容, 共 45.7 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

Snagit for mac(最强大的屏幕截图软件)v2023.2.6中文版下载

iMac小白

解锁 AI 潜力 | 使用 GreptimeAI 深入观测 OpenAI 行为和用量

Greptime 格睿科技

数据库 LLM LLMOps

QuickLinks for Mac(菜单栏快捷命令)v3.2激活版

iMac小白

getIRC-IRC Client for Mac( IRC 聊天客户端工具) v1.5直装版下载

iMac小白

京东商品详情API实现实时数据获取的Java代码示例

Noah

Boxy SVG for Mac(矢量图编辑器)v4.21.1免激活版

iMac小白

Navicat Premium 16 for Mac(数据库管理软件)v16.3.5中文激活版

iMac小白

EzyCal for Mac(日历管理和提醒工具)v2.3激活版

iMac小白

JavaFx项目至安装程序

alexgaoyh

JavaFx exe4j 桌面应用 Inno Setup Compiler jre运行环境

共话 AI for Science | 中国自然资源航空物探遥感中心于峻川:“AI+遥感”技术地学应用实践与展望

ModelWhale

人工智能 机器学习 深度学习 AI4S

Solidity之旅(十八)内联汇编 [inline assembly]

BSN研习社

Linguist for Mac(mac菜单栏语言翻译工具)v3.2激活版下载

iMac小白

软件测试开发/全日制/测试管理丨Web、App 测试不同场景定位方式

测试人

软件测试

PullTube for Mac(在线视频下载器)v1.8.5.23中文激活版

iMac小白

MetaImage for Mac(图像元数据编辑器)v2.6.3中文激活版

iMac小白

如何优雅的对ILogger进行扩展并实现日志分类及追踪

多态丶

netcore 扩展 logger dotnetcore 结构化日志

程序员一定要知道的限流大法:令牌桶算法

不在线第一只蜗牛

程序员 高并发 限流

提升源代码安全性的C#和Java深度混淆工具——IpaGuard

软件测试/测试开发/全日制/测试管理丨App 自动化测试的价值与体系

测试人

软件测试

Alarm Clock Pro for mac(闹钟和时间管理工具) v15.6激活版下载

iMac小白

永不停止,永远在路上!MIAOYUN 2023年度回顾

MIAOYUN

2023年度回顾 2023年终总结 年度关键词 年度成绩单

Atlassian版本选择趋势是上云还是本地部署?全面分析两个版本的特性

龙智—DevSecOps解决方案

DevSecOps Atlassian

海外直播专线:打通TikTok直播的畅通通道

Ogcloud

海外直播专线 Tik Tok直播 Tik Tok直播网络

从源码分析 MySQL 身份验证插件的实现细节

快乐非自愿限量之名

MySQL 数据库 sql 源码

Archicad 27 for Mac(3D建模软件)v27.1.1 (4030)激活版

iMac小白

拼多多根据ID取商品详情原数据 API 实现实时数据获取的完整指南

Noah

低代码与小程序开发:简化创新,加速应用开发

EquatorCoco

小程序 低代码 程序开发

海外云手机助力企业拓展海外市场

Ogcloud

云手机 海外云手机

华为产品创新经验,帮你成为更好的产品创新者

华为云PaaS服务小智

学习 华为云

共话 AI for Science | 解放军总医院医学创新研究部刘晓莉:基于数据和知识驱动的临床预测模型的构建

ModelWhale

人工智能 机器学习 深度学习 预测模型 AI4S

Erlang是未来用于并发性的Java?_Java_Niclas Nilsson_InfoQ精选文章