私はしばらくの間、C++ でソケット プログラミングを行ってきましたが、エラーの処理、データのシリアル化/逆シリアル化などのために同じコードを書かなければならないことにうんざりしていました。
分散システムを最高レベルでサポートするプログラミング言語はありますか?
私はしばらくの間、C++ でソケット プログラミングを行ってきましたが、エラーの処理、データのシリアル化/逆シリアル化などのために同じコードを書かなければならないことにうんざりしていました。
分散システムを最高レベルでサポートするプログラミング言語はありますか?
分散型、耐障害性、ソフト リアルタイム、ノンストップ アプリケーションをサポートするために Ericsson によって設計されました。
また、彼らのマニュアルのDistributed Erlangセクションも読みたいと思うかもしれません。
ただし、Erlang は関数型言語であり、C++ と比べてかなり異なる考え方が必要になることに注意してください。
Google の Go-Lang はかなり新しい言語です。少なくともherokuの人々によると、その多くの属性の中で、スケーラブルで一貫した信頼できる動作を実現するために、多くのメッセージキューを必要とする大規模な分散システムにいつか適しているようです.
Go は並行性の問題、言語内のプリミティブのスレッド化などに重点を置いているようです。これはおそらく、分散システムの出発点として必要ではありますが、十分ではありません。おそらく彼らの考えはあなたに役立つでしょう。分散システムに対する Go-lang のサポートを「ファーストクラス」とは呼びませんが、Go のライブラリと言語プリミティブを使用して、ファーストクラスの分散システム フレームワークを構築することが可能であると言えます。
更新: 数年後、私は Go にあまり感心しなくなりました。作者側の悲しく限定された考えに苦しんでいると思います。フォルトと例外処理に関するその決定は逆行し、言語を使用できなくしていると思います。
Update-2016: 私は実際に Go に再び感銘を受けました。私は今、大規模なチーム開発の観点から、N-階乗の実装オプションを持つことが N-階乗の異なるコーディングターピットにつながると考えています。少なくとも、Go にはラブレア スケールのターピットはなく、特定の従来のマッドワローしかないようです。彼らは絶対にタブが大好きで、あなたがそれらを十分に愛していない場合は、コードに挿入してくれます.
Bloomは、分散プログラミング用の新しいドメイン固有言語です。現在のアルファ リリースは Ruby に組み込まれており、アーリー アダプターを対象としています。Bloom は、「CALM」分析に関する新しい研究を活用して、コード内の分散された一貫性と調整の問題を特定するツールを提供します。
Parallel Pythonは、SMP (複数のプロセッサまたはコアを備えたシステム) およびクラスター (ネットワーク経由で接続されたコンピューター) で Python コードを並列実行するためのメカニズムを提供する Python モジュールです。
特徴:
クラスターのクイック スタート ガイドを見ると、コードがどのように表示されるかを簡単に把握できます。
Reiaは分散システム用のスクリプト言語です。
Reia は、Erlang の強力な機能を平均的なプログラマーが理解しやすい方法で公開することを目指しています。これは、プログラミングが簡単で楽しい言語である Ruby の美しさとシンプルさを、使いやすい、または楽しいと考える人がほとんどいない言語である Erlang にもたらすことを目的としています。