Erlangとは?プログラミング言語を初心者にもわかりやすく解説

Erlangとは

Erlang(アーラン)は、1986年にスウェーデンの通信機器メーカーであるエリクソン社によって、通信制御ソフトウェアのために開発されたプログラミング言語です。

Erlangは、もともとエリクソン社内のみで使われていた言語でしたが、1998年にオープンソースとして公開されました。オープンソース化により、商用も含めて自由な利用が認められました。

Erlangという名称は、デンマークの数学者アグナー・アーラン(Agner Erlang)の名前に由来します。また、エリクソン社の言語(ERicsson LANGuage)という意味も含んだダブル・ミーニングにもなっているそうです。

Erlangの特徴

Erlang には、以下の特徴があります。

  • 様々な用途・目的に利用できる汎用的な言語
  • 関数型プログラミング言語
  • 並行処理をサポートしている
  • 稼働中のシステムを停止することなくプログラムを修正できるため、 障害に強い

Erlangは、様々な用途・目的に利用できる汎用的な言語です。関数型プログラミング言語であり、関数を組み合わせて処理を記述します。

Erlangは、並行処理をサポートしています。複数のプロセスを生成して並行して実行できるため、複雑な処理も簡潔に記述することができます。また、稼働中のシステムを停止することなくプログラムを修正できるため、 障害に強いという利点が得られます。

尚、Erlangには、オブジェクト指向プログラミングは採り入れられていません。Erlangを開発した中心的な人物ジョー・アームストロング氏によると、 オブジェクト指向には以下の問題点があるとのことです。

  1. データ構造と関数が一緒くたになってしまう
  2. なんでもかんでもオブジェクト扱いになってしまう
  3. データ型定義が一か所にまとまらず、あちこちに散らばってしまう
  4. オブジェクトの状態がプログラマから分からなくなってしまう

※ ジョー・アームストロング氏が書いた「Why OO Sucks(なぜオブジェクト指向はダメなのか)」より

http://www.cs.otago.ac.nz/staffpriv/ok/Joe-Hates-OO.htm

Erlangはこんな場面で使われている

Erlangは、もともとエリクソン社の通信制御ソフトウェアの開発に利用されていましたが、オープンソースとして一般公開されてからは、多くの企業が利用するようになりました。

有名な事例としては、AmazonのデータベースサービスEC2、 Facebookのチャットサービス、メッセンジャーアプリのWhatsApp、LINEの一部機能、などにErlangが利用されています。

Erlangを学ぶメリット

Erlangは、現在も開発が続けられています。最新バージョンは、2019年9月に公開されました。

有名企業もウェブサービスのバックエンドやアプリの一部機能などで、Erlangを利用しています。Erlangを学び経験を積むことで、エンジニアとして有利な就職・転職につながる可能性があります。

例えば、LINEのエンジニア募集ページにも「 Java/C、C++/Scala/Erlang中に一つ以上の言語の経験 」が必須スキルとして挙げられています。高度な職場を望むなら、学ぶメリットの大きいプログラミング言語のひとつと言えるでしょう。