マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Erlang

【OSS情報アーカイブ】Erlang

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Erlang」とは

基本情報

概要

Erlang(アーラン)とは、並行処理指向/分散処理指向の関数型プログラミング言語です。「多目的」「耐障害性」「無停止稼働(ホットスワップ)」などの特徴があります。

基本説明

通信システム制御用ソフトウェア開発のために開発されたプログラミング言語です。

「分散型」「スケーラブル」「耐障害性」「リアルタイム性」「無停止稼働(ホットスワップ)」などの特徴があります。

分散型ハイパフォーマンスアプリケーション構築などに向いている言語です。

経緯

スウェーデンの大手通信機器メーカー「エリクソン(Ericsson)社」が開発しました。

1998年、オープンソース公開されました。

「Erlang」の名前の由来は、数学者「Agner Erlang」と「Ericsson Language」のダブルミーニングとされています。

主な特徴

関数型言語

Erlangの基本的文法/仕様は関数型言語です。処理を関数の組み合わせとして記述します。「先行評価」「変数への代入は1回限り」「動的型付け」などの特徴があります。

関数型プログラミングのパラダイムは、個々のコード/ブロックが同じ入力値に対して一貫した出力値を生成します。関数の出力結果を容易に予測できるため、デバッグ/分析を容易に行えます。

「実行時にインタプリタにより機械語に変換しながら同時に実行する」処理系を基本とします。

Erlangは、論理型言語「Prolog」の影響を強く受けており、他のほとんどの言語とは大きくかけ離れています。そのため、多言語から参入しづらい面があります。

並行処理

並行処理は、Erlangの最大の特徴です。

独立した複数の命令の流れ(プロセス)を容易に生成/制御でき、複雑で困難な並行処理を簡潔/明瞭に記述できます。他の言語に対するアドバンテージです。

プロセス

Erlangが提供する「プロセス」は、OSのプロセス/スレッドとは異なり、Erlangの仮想マシン(VM)によって管理されるものです。

大量の「プロセス」を性能低下させずに生成できます。2000万個の「プロセス」を並行実行できることが示されています。

プロセス間通信(分散処理)

各プロセスはプロセス間通信により連携します。非共有/非同期にメッセージを交換できます。メッセージとして、文字/数値/リスト/関数などを扱えます。

他のマシンで実行されているプロセスへもネットワークを通じてアクセスできるため、分散した複数のプロセスを互いに連携できます。遠隔ノード上のプロセスとのプロセス間通信は、同じノード上のプロセスとのプロセス間通信とまったく同じように行われます。分散処理を容易に構築できます。

耐障害性(プロセスエラー処理)

Erlangの並行処理は、エラー処理の基本的な方法をサポートしています。

あるプロセスに異常が発生した場合、そのプロセスは手際良く終了し、そのプロセスを制御しているプロセスにメッセージを送信します。この仕組みにより、ソースコード保守性を高め、複雑性を低減できます。

並行プロセス内で発生した障害を特定して処理できるため、耐障害性の高いアプリケーションを構築できます。Erlangに付属するライブラリ「OTP」は、「99.9999999%(ナイン・ナイン)」の稼働率を誇ります。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Elixir」「GO言語」「Scala」など。

導入事例

Ericsson、Facebook、CouchDB、WhatsApp、楽天、ドワンゴなどでの採用実績があります。

他にも、大規模な通信制御システムなどで多くの採用例があります。

ライセンス情報

Erlangのライセンスは「Apache License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。