Software Design 2010年6月号が面白いです
表紙の Ubuntu のデッカイ文字にふらふらっとひかれて、本屋さんで何気なくぱらぱらページをめくってみれば、「はじめての関数型言語」ですとかelispでYコンビネータとか なんだか関数言語だらけの内容で、思わず買ってしまった Software Design の今月号。
Software Design (ソフトウェア デザイン) 2010年 06月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2010/05/18
- メディア: 雑誌
- 購入: 5人 クリック: 73回
- この商品を含むブログ (15件) を見る
Ubuntu 特集も面白かったのですが(おうちでクラウドとか)、関数型言語特集が抜群に面白い。見出しとか雰囲気とか、まるで「日経ソフトウエア」並のフレンドリーさ・読みやすさなのに、内容は濃ゆゆいのがたまりません。
「誰が書いたんだろう。」と思って見たら、書いてるの arton さん。ビックリ・意外・納得です。
この記事だけでも、今月は買いですにゃー。
* * *
ところで、「はじめての関数型言語」で気になった(=何故何故?・・と思った)のが二つあって。
ひとつは、プログラミング言語の分類の図が出てくるのですが、
オブジェクト指向パラダイムの仲間のなかで、なんで Smalltalk だけ仲間はずれ(しかも「手続き型」にされてる)なんだろうと思ったり。
手続き型に分類されるのは別にですが、Ruby や Java、C++ と比べて、「より手続き型」に分類されるのが「何故」と気になりました。
その中で比べたらかなーり Lisp っぽいのに...。すくなくとも Ruby とグループが分かれる理由はわかんない。もしかしてメッセージ式がいけないのかな。うーん。
もうひとつ 心に引っかかったのが、「Appendix:SQL――実は身近な関数型」というタイトル。
SQLって 強いて分けるなら 論理型言語じゃない? と思っていたので、SQL = 関数型言語と言い切りに ギョギョッとしてしまったり。
でも内容を読むと
RDBMS を操作する SQL は、あくまでも RDBMLに特化した言語(今風に言えばDSL)ですが、数学的な理論を背景に持つためか、その書き方、書く為の考え方は関数型ときわめて近い関係にあります。
のように書かれていて「関数型である」と言い切ってはいない、単に「おなじ宣言型言語の仲間ですよ」くらいのニュアンスで、これはタイトルだけの話なのかな?
なのでそれはクローズなのですが、今度は 論理型言語と関数型言語の境界ってどこら辺からなんでしょう、とか、そっちが気になってしまいました。
* * *
「はじめての関数型言語」は、読みながら、いろいろ考えが玉突きされてしまうのが愉しくって、凄いなぁと思います。
どの章もおもしろいけれど、一番面白かったのは4章でしょうか。インタビューは聞き手が重要だなぁとしみじみ。