マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク3位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク4位🏆
【AIツール実験室】画像生成AIツール「 Emi 」(前編) - 🏆ランク5位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク6位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク7位🏆
【無料で使える】「 バックアップ 」ツールまとめ - 🏆ランク8位🏆
【ツール紹介】無料オープンソース「 ビデオ監視 ツール 」まとめ3選 - 🏆ランク9位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力 - 🏆ランク10位🏆
【無料で使える】「 グループウェア 」まとめ
おすすめの記事


ChatGPT探訪
2023.11.10
【ChatGPT探訪】GPT-4V「 画像解析機能 」🔍
ChatGPT4の「 画像解析機能 」について、 画像読み込み機能チェックを実施してみました🔍 「請求書不備チェック」は便利なのですが、 クローズドGPTを使いたくなります🤔 さまざまな用途に活用できる可能性を感じました🌟 いろいろ分析してくれるので、 試してみてください👍