『プログラミングErlang』を読み終えた
久々に、本当に面白いと思った。
他の本を平行して読んでいたので、1ヶ月以上かかってしまったが、楽しかった。もっと、読むのに苦労するかなと思ったけど、案外すんなり読めた。(大分、関数型言語に慣れてきたようでうれしい)
プログラミングErlangを読んで(http://oga89.cocolog-nifty.com/blog/2008/02/erlang_5db3.html)に、Erlangの特徴がよくまとめられていた。
Erlangのプロセスって、クロージャやインスタンスのような感じで使われているようで、少しびっくりした。でも、よくよく考えてみたら、多くのインスタンスが非同期で動いていてお互いにメッセージをやりとりするだけとするは、自然な発想だな。
しかも、メッセージの処理の途中で別のメッセージを処理する事がないので、ロックや同期メソッドは確かに不要になる。
こういうのって、Scheme上に実装できないのかなあ。
一度、変数に値を設定すると変更できないので、再帰関数の引数に状態を与えるようするコーディングスタイルは、「なーんだ。その手で来たか。」と言う感想。
標準の配布物で、データベース等がついていて、信頼性も高いと言うのは、魅力的だ。
でも、マルチバイト文字を扱えないのが、最大の難点かな。モジュールを作っている人もいるようだけど。