並行処理のタイプが全く違うので、悩ましいが、どれも違って面白い。曖昧だが自分としてはしっくりくる描写は、各言語を書く時「何が主役だと感じるか?」という印象だ。それぞれ冒頭にそのイメージを書き、その後にちょっとした特性を附記する。 golang: goのコード自身が主役な感じ。チャンネルでの待ち合わせ時に停止する可能性がある。コンテクスト切り替えは、プリエンプティブに勝手に行われる。メッセージは送信者も受信者も、合意の元でチャンネルを介して行う。 Erlang: メッセージ処理の周りにコードがくっつく感じ。メールボックスでの待ち合わせ時に停止する可能性がある。コンテクスト切り替えは、プリエンプティブに勝手に行われる。メッセージは送信者が受信者を決めてメールボックスへ送る。 Javascript (node): IO処理の周りにコードがくっつく感じ。他のコンテクストがCPUを独占している間、停