プログラミングの魔導書3

http://longgate.co.jp/books/grimoire-vol3.html

(一応レビューに参加した関係で)PDF版を発売前に頂きました*1
というわけで、まだ全体的に大雑把に目を通した程度ですが、簡単に紹介したいと思います。
目次↓

序文
Lock-free入門
OpenACC
ErlangScalaにおけるアクターモデルの紹介
C#の非同期処理
Real World STM 〜作って学ぶSTM〜
データ並列への招待
合成可能なメッセージパッシング 〜Concurrent ML の紹介〜
コルーチンスタイルプログラミング
画像検索入門

「一応レビューに参加した」というのはどういうことかというと、「ErlangScalaにおけるアクターモデルの紹介
」の章のことです。が、正直ScalaErlangの両方にある程度詳しくないとレビュー難しいので、レビュー頼まれたはいいけど、Scalaのところの記述を簡単にチェックした程度で、ほとんど役に立てなかった感じになりました(´・ω・`)
まぁ逆に言うと、それだけ内容が濃いとは思います。また、(最近Scala始めた人はあまり知らないでしょうが)この章書いているのはあの有名な(?) cooldaemon さんです。自分が知る限り「ScalaErlangのアクター両方に詳しい」人なんてそうそういないし、明らかに現状日本で一番詳しいのではないでしょうか。


この章の内容的には、「ErlangScalaアクターモデル」を比べて色々紹介するということで、読み物としてはとても面白いテーマだと思います。また、STMや限定継続の話も少しでてきます。「読み物としては面白い」ですが、決してチュートリアルとかマニュアルとかそういう類ではないので、これだけ読んですぐ実用に活かそう!とかは考えないほうがいいです。(魔導書の性質上、そういう勘違いする人はあまりいないとは思いますが)


まだざっくりしか読めてませんが、全体的な感想も書いておきます。
まず最初に読んで感じたのは「並行、並列、分散」といっても、とても色んな分野があって広いなーということです。それぞれの章での関連するプログラミング言語を挙げてみても、「C++ScalaErlangC#Haskell、Concurrent ML」と多岐にわたっています。これは魔導書2のときからそうですが、複数人で書いたことがとても生かされていると思います。もしこれだけ多岐に渡る内容の濃いものを一人で書こうと思っても、絶対書けないでしょう。プログラミングのすべての分野に言えることだとは思いますが、特にこの分野は、日々進化が激しく、新たな手法が研究されているのだなと改めて実感しました。


ちょっと短いですが、自分からの紹介はこんな感じです。「ScalaErlangの章」以外は細かい内容や具体的な感想書けませんでしたが、他の方々もレビューを書くと思うので、そちらを参照するといいと思います。

*1:献本頂きました、って書こうとしてこれ思い出して、こんな言い回しになったが、なんか難しい・・・ http://kentaro.tumblr.com/post/48615480158