Erlangの評価は? Bashoに参加した力武健次氏に聞いた
分散システムの開発に優れているなどの理由で、関数型プログラミング言語に注目が集まっています。Bashoが開発する分散キーバリューストアのRiakや、オブジェクトストアのRiak CSは、関数型言語の1つであるErlang(アーラン)が開発に使われています。
Bashoへのインタビューにあたり、2月から同社に参加しErlangへの造詣も深い力武健次氏と、同社シニアソフトウェアエンジニアのScott Lystig Fritchie氏が同席していました。お二人にErlangへの評価を短く聞きました。
Erlanは視認性が高く簡潔な記述ができる
──── 製品を開発する立場としてErlangをどう評価されますか?
力武氏 例えばCで書くと何千行もかかるソフトウェアを、Erlangなら100行あるいは200行以内で書ける。Cでは何かを書こうとすると、1ページ66行だとして1ページか2ページはヘッダのマクロに消えてしまうんです。
Erlangではそこまでとんでもないことになることはなくて、視認性が高い。小さい、コンサイス(簡潔)なことの重要さがあります。
いろんな関数型言語がありますけれども、Erlangの特徴があるとすれば、一回しか代入を許さない、ほとんどをimmutable Objectで作るというところ。
そして言語としてのErlangも大事なのですが、エリクソン(Erlangの開発元である通信機器メーカー)が作ったOTP(Open Telecom Platform)というシステムが大変よくできていて、それを含めて一種のサーバなり、Riakもそうですが分散システムが全部作れる。ここに魅力があると思っています。
Fritchie氏 力武が言うようにErlangでは、JavaやC++に比べてとてもコードがコンサイスでコンパクトにできること、これはデベロッパーの助けになると思います。ハイレベルな言語である、というのがErlangの基本的な魅力です。
また、分散システムでは問題が起きたときにそれを見極めるのが困難です。しかしErlangは、エリクソンが最初から堅牢でフォールトトレラントなシステム、当初は交換機、そしてインターネットのルータ、現在ではモバイル基地局のために開発したものでした。
そうした中でErlangは、分散システムのオーケストレーションのために使われてきました。CやC++、JavaScriptなどのコンポーネントがあり、Erlangはそれらをコーディネイトするために使っています。
あわせて読みたい
VMwareがストレージ仮想化のVirstoを買収。Software-Defined Storageは立ち上がるか
≪前の記事
Amazon S3互換分散オブジェクトストレージのBashoが国内本格展開。CEOとアーキテクトに聞く