Scalaを勉強していてErlangはそのアクタモデルのベースになっている
ということと,関数型言語ということで勉強し始めたもの.
で,基本的な言語の本でどれがいいのかと思っていた時に
Erlang言語の開発者が書いた本が訳されたので入手.
いわゆる言語の解説本ということで,JavaのJPLに該当する内容.
関数型言語と言っても,基本的なところから書かれているので,
プログラミング自体が初めてでなければそれなりに読んでいけると思う.
出来ればサンプルを実際に動かしながらというのがGood!
基本的な言語要素の説明とプログラミングから始まって,
パターン照合,例外,並行プログラミング,分散プログラミング,
更に,通信処理,DB処理,マルチコアプログラミングと
結構盛りだくさん.
「並行指向プログラミング」というポイントをきちんと
抑えた項目がきちんと入っていてなかなかいい感じ.
実際に並行処理やそのプロセスを別ノードにすることで簡単に
分散化することが出来るなど,プログラミングの抽象度の高さが
体感できる.
Erlang自体はEricssonの研究所で作られて,実際にも使用されている
言語で,通信処理ではかなり実践的に使える言語.
また,独自のDBMSであるMNESIA(ムネジア)や大規模データ構造の
ETSやDETSなどやそれをベースにSMNPデータを扱うライブラリなども
充実している.
ちなみに,MNEMSIAはAMNESIA(記憶喪失)と言う名前が上司に
却下されて,Aを取ってMNESIAになったらしい.
一応,ギリシャ語の「記憶」がMNESIAでAは否定(not)の意味で
そもそもAMNESIAと言う語源があるらしいけどね.
実践的な面白い言語をと考えている人は試してみては.
- プログラミングErlang/Joe Armstrong
- ¥4,620
- Amazon.co.jp