たった32人の技術者で4億5000万人のユーザーに対応するには?Facebookに190億ドルで買収されたばかりのWhatsAppにとって、その答えはErlangです。Erlangは1980年代に生まれたプログラミング言語で、今ようやく脚光を浴びています。
しかし、多くのプログラミング言語がErlangに取って代わろうとしている中で、Erlangに未来はあるのでしょうか?
Erlangはスウェーデンの大手通信会社Ericssonによって25年前に開発され、今ではWhatsAppやFacebookなどのインスタントメッセージングアプリに採用されています。FacebookもErlangを採用し、2009年にFacebookチャットアプリをErlangで開発しました。同年、FacebookはWhatsAppの創設者ブライアン・アクトンの求人応募を却下しました。
[]
並行処理が新しい人気
「Erlangを使えば、メッセージの送信方法を気にすることなく、多数のユーザーが同時に接続できるメッセージングアプリケーションを開発できます。「その代わりに、良いアプリケーションを設計することを心配するのです。
EricssonのエンジニアはErlang言語を電気通信の仕組みを念頭に置いて設計しました。このような膨大な量の並列通信では、他の言語はほとんど手が届きません - 並列処理を得意とするものもありますが、ネイティブの「マルチタスク」ではないのです。それとは対照的に、Erlangはマルチスレッドやこのような「アクロバット」が得意です。回転するディスクをもう一枚追加しますか?
「この言語は非常に表現力が豊かです。「この言語は非常に表現力が豊かです。
実用的な観点から、Erlangはもともと1つのマシン上の複数のプロセッサで効率的にコマンドを実行するのに適していました。今日、Erlangは "クラウド "としても知られているグローバルなサーバーネットワーク上で大量のコマンドを実行することに優れています。Erlangのクラウド機能はゲームや金融など、スピードや安定性、スループットがリアルタイムオークションシステムと同じくらい重要なシナリオには欠かせません。
同様に、プログラマーにとってErlangの魅力は、システムのダウンタイムなしにアップデートやバグフィックスができるというユニークな点です。リアルタイムで、システムのラグを発生させることなく、システムのプロパティを変更したり、ファイルを置き換えたりすることができます。Erlang言語のこの機能は通信業界からの要求の結果です。
通信事業者の飯盒を粉砕せよ
ボーダフォンのような大手通信事業者の一部は、独自のSMSサービス・ネットワークを構築しようと試みましたが、ほとんど成功しませんでした。ボーダフォンのような大手通信事業者は、独自のSMSサービス・ネットワークを構築しようと試みましたが、ほとんど成功しませんでした。現在のアプローチは、加入者との契約に変更を加え、SMSとデータ通信のそれぞれのコストを上乗せすることです。
これらの通信事業者が料金プランの調整に追われている間、WhatsAppは製品作りに専念していました。彼らの技術チームはWhatsAppのスケールとスピードアップを何度も実現し、Erlang言語コミュニティを唸らせました。
このような結果が得られたのは、エリクソン向けのオーダーメイドプロジェクトAXD301で「9点満点中9点」の信頼性を達成したアームストロングが築いた基盤のおかげです。今日、こうした若い挑戦者たちが、老朽化した通信会社を打ち負かしつつあります。
Erlang言語は超越を達成できますか?
このような素晴らしい実績があるので、Erlangは広く使われていると思うかもしれません。しかし、現実は思っているより複雑です。
今まで、Erlangプログラミング言語の開発者のコミュニティは小さく、ほとんどがヨーロッパに集中していました。この言語の構文は確かに「独特」です。もしあなたが複雑なデータを分析したり、小さなウェブサイトを作りたいのであれば、当然他のもっと良い言語やツールを選ぶでしょう。さらに、多くの新興プログラミング言語や亜種が、Googleの言語からErlangから基本的なアイデアを借りており、競争はますます厳しくなっています。
Erlangには希望があります - ElixirはErlangのシンタックスを一般的なものにし、RailsバンドワゴンのRuby言語のパターンを真似ることで、この言語が道を見つける手助けになるかもしれません。このようなプロジェクトもErlangをもっと使いやすくするために動いています。より多くのコミュニティがErlang言語の周りに集まれば、人々はOTP(Open Telecommunications Platform)の豊富な機能を発見するでしょう。
「彼らは、頑丈で比類のないソフトウェアやプログラム・ライブラリの開発から多くのパターンを得ており、それをうまく借りることができるのです」とクラーク。
Erlang言語の人気の鍵の一つは、ポータブルデバイス、いわゆるウェブ対応デバイスの市場です。スマートデバイスの熱狂的なファンはすでにMQTT(軽量なセンサー間メッセージングプロトコル)でErlangを使って実験しています。