12

私は Erlang でシステムを構築しようとしています (私の問題は複数の CPU でよりよく解決できます)。

  1. Erlang を学びましょう
  2. Erlang/OTP の動作
  3. Erlang のプログラミング(Armstrong);
  4. Erlang プログラミング(Cesarini)。

Erlang/OTP in Action book (2) は次のように述べています:非 OTP の方法は、OTP に関して正しい習慣をすぐに身につけることができるので、ありがたいことです...」

(2) は、商用システムは OTP のみで構築する必要があると主張していますが、(4) は OTP がこれを行う唯一の方法ではないことを穏やかに示しています。

さらに、(4) を読むことで、Erlang の非常に基本的な知識を構築することが、OTP の仕組みを理解するのに役立つことがわかりました (ただし、その逆ではありません)。

そこで問題は、商用システムを構築するために Erlang/OTP を選択すべきか、それとも純粋な Erlang で実行できるかということです。

4

4 に答える 4

36

純粋な Erlang で学び、遊んでください。

Erlang/OTP でシステムを構築します。

于 2011-09-04T10:39:00.063 に答える
35

純粋なErlangでそれを行うことはできますか?

はい、できます。Greenspun の第 10 の規則の類似物に従います。システムには、アドホックで、非公式に指定された、バグが多く、OTP の半分の遅い実装が含まれます。

于 2011-09-04T11:15:12.143 に答える
13

OTP は Erlang で記述されているため、純粋な Erlangで確実に実行できます。そうは言っても、OTP は、他の方法では自分で作成する必要がある多くの便利な機能を提供します。@Alexeyは、途中でOTPの一部を実装することになるよりも正しいです。問題は、OTP が提供するフォールト トレラント システムを構築するために必要なフレームワーク自体が、非常にフォールトフリーでなければならないことです。

また、純粋なErlangで実験することで、OTPの内部で何が起こっているのか、Erlangでフォールトトレラントなシステムを構築する方法について良い感じが得られるという点で、@Mazenにも同意します。その後、OTP をより有効に活用できます。OTP を使用しない場合とその理由について理解を深めることができます。

于 2011-09-04T15:46:57.943 に答える
3

「Learn You Some Erlang」(あなたが言ったように) を読み通せば、作者が「プレーンな Erlang」で半ば有用なものを構築する並行アプリケーションの設計の章に費やしていることに気付くでしょう。次に、次の 2 つの章で、彼は基本的にすべてを捨てて、OTP を使用して、はるかに少ないコードで同じことを実現します (これは OTP コードであるため、標準であるという事実に加えて、OTP に精通している他の開発者は、それを理解するためにどこを見るべきかについてのより良いアイデアです!)

OTP は、多数の開発者と大規模な国際企業 (Ericsson) の支援を受けて (ウィキペディアによると 1998 年に最初にリリースされた)、長年にわたって開発および改良されてきました。同じように堅牢でスケーラブルなものを単独で構築できると仮定するのは、少し大胆だと思います!

そのため、OTP を使用します。「遊ぶ」プロジェクトであっても、「商用」コードをより良くする方法を学ぶのに役立つだけなので、OTP を使用してください :)

于 2012-10-08T14:38:21.503 に答える