有些编程语言是人人皆知的,但也有一些不那么流行的。你可能听说过一些著名的编程语言——Java、C、Python 或 Ruby。然而,今天我们不讨论它们。

我们来谈谈一种在应用开发中很少使用,而且 手机号码数据 很少有人知道的语言。这种语言就是 Erlang。

为什么选择 Erlang?

内容[显示]

Erlang是一种小众语言。用它编写网站或移动应用程序比较困难。它创建于 20 世纪 80 年代,用于编写电信网络的软件交换机。

Erlang 适合组织数据量较少但线程数量较多的进程。该语言潜力巨大,因此多年来不断发展壮大,并找到了新的应用领域。Erlang 的概念使其可用于即时通讯、视频聊天和各种服务。

如今,它也用于编写视频流和聊天服务器。Erlang 非常适合那些没有复杂计算或处理大量数据但客户端较多且容错性要求严格的应用。

使用 Erlang 的公司

Amazon 使用 Erlang 实现其 SimpleDB 存储服务,Yahoo! 使用 Erlang 实现书签服务,目前已保存了超过 1.5 亿个书签。Facebook 曾使用 Erlang 实现聊天  关注关键活动和职责   服务,处理超过 1 亿个活跃用户。XMPP 的实现之一 — eJabberd 也是用 Erlang 编写的最著名产品之一。

Erlang 为程序员提供了一定的框架,就像任何其他语言一样。但使用 Erlang 时,不可能出现惨败。例如,当 Java 或 .Net 中有多线程时,您需要非常小心,而在 Erlang 中没有变量,因此不可能犯错误。

轻松的多线程编程

多线程编程一直很困难。在 C 或 Java 中,编写线程几乎就像编写一个单独的程序:您需要正确分配内存、启动、监视和终止。同时,线程不能称为“轻量级”:默认情况下,Java 中的一个线程仅在启动时就会占用多达三百千字节的内存。

Erlang 解决了这个问题:一个线程只需要 4 千字节 安圭拉铅 的内存即可运行。同时,一台普通笔记本电脑上可以启动数十万个线程。

问题是 Erlang 线程不是由操作系统控制的,而是由 Erlang 本身(其虚拟机 (BEAM))控制的。对于操作系统来说,它看起来好像只有一个流,但 BEAM 内部可以有很多流。由于操作系统不干扰线程控制,因此使用它们的速度非常高。

一个不错的好处是 Erlang 能够均匀地占用所有处理器核心。