ActorとアクターモデルとErlang

ここ数日「ScalaのActorが良く分からない」と一人嘆いていたのですが、なんかとっかかりになりそうな情報を見つけました。

アクターモデル

むかーしむかし、アメリカの大学の偉い教授が「アクターモデル」という研究をしていました。これは「並行計算の数学的モデルの一種」というもので、なんだかよくわからないけど難しい数学の研究なのだそうです。
で、ScalaのActorフレームワークはこの難しい研究を実装しているようです。ScalaのActorを理解して使うにはこのアクターモデルというものを学んだ方が近道のような気がしました。
というわけで、場末のプログラマーにも理解できるようにアクターモデルを親切丁寧に解説してくれるサイトや本はないかと探したのですが、そんな上手い話はありませんでした。残念です。

Erlang

絶望的な気持ちになっていたときに↓の記事をみつけました。


アクターモデル - GIOの日記

Erlangの並列処理を学ぶことでアクターモデルの理解ができた!


これだ!
大学教授の研究はよくわからないけどプログラミング言語なら理解できるだろう(多分)
日本語で書かれた本も出てるみたいだし、非常に心強い。

プログラミングErlang

プログラミングErlang

お給料もらったら買ってこよう

それにしても

Javaの亜種だから簡単だろう」という軽い気持ちでScalaに手を出したのに、関数型言語の作法とか常識を学ぶためにHaskellを調べたり、今度はアクターモデルの基礎を知るためにErlangを調べることになったり、そういえばtraitもRubyのMixinが前提知識でなければ何のことやらさっぱりわかんなかっただろうなー。
調べてるうちに色んなプログラミング言語を横断的に渡り歩くハメになる言語なのだなあと思いました。