英語で読む「Erlang」

年末年始に1つ新しい言語を勉強してみよう、ということで今回はErlang。

ソフトバンクの通信障害でも名前が出た通信機器メーカーのEricssonが実に20年以上前に開発した言語だが、最近ではLINEが使っているなど今も現役だ。

It was used to make the process of building telecommunications products easier with functionalities like speed, distribution, and concurrency. It also supports a number of processors and operating systems and can be easily integrated with different development languages. Erlang fosters Ericsson’s GPRS, 3, and 4G/LTE and it also powers the internet and mobile data networks.

telecommunications productsつまり通信機器を開発するために使われ、携帯電話の3Gや4G/LTEにも貢献している。

Ejabberd 1.0 was released in December 2005 and it formed a base for many platforms like WhatsApp. Ejabberd showed a 280% increase in throughput when it was compiled to the latest version of Erlang.

日本では有名ではないが全世界で10億ユーザを超えるWhatsAppもErlangで書かれたXMPP(Jabber)プロトコルのサーバであるEjabberdをベースにしている。

In May 2006, Erlang was also used to program RabbitMQ, an Advanced Message Queuing Protocol (AMQP). Post that, Erlang has become the language of choice for most of the messaging solutions and is now the backbone of thousands of systems.

Message Queuingはキューイング、つまりメッセージを右から左へ流すのではなく、いったんデータを格納し、受け手側からデータを取りに来る形態を実現する非同期通信で、限られたサーバ資産で効率よく大量のデータを処理するために使われる。なるほどErlangの「並列処理志向」という特徴は、こういうところでも発揮される。

In 2011, Elixir, a functional and concurrent programming language that runs on Erlang VM was released. In August 2015, Phoenix 1.0, a framework for web applications was released. Phoenix 1.0 uses Erlang VM capabilities to create the same effect as Rails did on Ruby, by bringing making Elixir, popular.

2011年にはErlang VMで動作し、concurrentな言語(つまりRubyっぽい)で書けるElixirという言語がリリースされ、PhonenixというWebフレームワーク(つまりRails相当)がリリースされた。

個性がハッキリしてる言語だけに、単なるWebサーバを書くより、オレオレなプロトコルを走らせたくなる。


この記事が気に入ったらサポートをしてみませんか?