私は、システムプログラミングではなく、アプリケーション/ユーザーレベルに重点を置いて、並行プログラミングを学ぶことに興味があります。並行アプリケーションを記述するための直感的な抽象化を提供する最新の高レベルプログラミング言語を探しています。生産性を高め、並行プログラミングの複雑さを隠す言語に焦点を当てたいと思います。
私の生産性が低下し、プログラミングモデルが直感的ではないため、いくつかの例を挙げると、C、C ++、またはJavaでマルチスレッドコードを記述する良いオプションは考えられません。一方、生産性を高め、Pythonやマルチプロセッシングモジュール、Erlang、Clojure、Scalaなどのより直感的な抽象化を提供する言語は、適切なオプションです。
あなたの経験とその理由に基づいて何をお勧めしますか?
編集:あなたの興味深い答えをみんなに感謝します。Erlang、Clojure、Scala、Groovy、そしておそらくHaskellなど、多くの優れた候補者がいるため、実際に試さずに結論を出すことは困難です。私は最も説得力のある議論で答えを投票しましたが、どれを選ぶか決める前にすべての良い候補者を試します:)
begin transaction
end transaction
ます。また、内部のすべてはデッドロックがなく、全体として成功または失敗する必要があります。
To give an example, I don't consider a good option writing multithreaded code in C, C++, or Java
。どうして?On the other hand, Python and the multiprocessing module, Erlang, Clojure, Scala, etc. are some of my options.
繰り返しますが、なぜですか?質問を展開して、実際に探しているものをより明確にします。