2011-04-17(日) [長年日記]
■ 言語設計者たちが考えること (THEORY/IN/PRACTICE)(Federico Biancuzzi)
なんと、1月20日にPDFを買って以来、ずーっと持ち歩いていたのにいまごろ読み終わるという。まぁ、他の本に寄り道しながらだったのだけど。というのも20個近いプログラミング言語について、作者にくまなくインタビューしているので、つまみ食いしながら読めるし、一方それぞれの項がかなり深くつっこんだ内容なので続けて読むと疲れてしまうしという。なにしろ厚いので*1、体力がいります。
驚くべきことに、プログラミング言語の本なのにその言語がどういうものなのか、本文中にほとんど説明がない。サンプルコードすらないから、いま話題になっている言語がどんなものなのか事前に知識がないと雲をつかむような感じになる。自分はさほど言語に興味のある向きではないから、この中のほんのいくつかしか触ったことがないし、おかげで新章に入るたびにその言語についてGoogle様におうかがいをたてる始末。
とはいえけっこう面白かったと思えるのは、登場する開発者の多くがかなり辛辣で、いちいち他の言語のことをけちょんけちょんにしているからだろう。冒頭、C++がJavaをメッタ斬りにしたかと思えば、続くPythonがC++をずたずたにする。読みはじめる前は、ちょっと浮世離れした言語開発者たちが、「ぼくの考えたプログラミング言語」について幸せいっぱいに語る本だと思っていたのに、蓋をあけてみれば他言語disりまくりのサウザンクロス・シティだったという。
なんといっても「すげーなー」と思うのが、インタビュアたちの言語に対する造詣の深さだ。これだけさまざまな言語について表面的ではないインタビューをできるのはすごい*2。しかも、複数の作者のいる言語はちゃんと(たぶん)全員に話を聞いている。AWKの3人がちゃんと登場してるんだから嬉しいじゃありませんか。あとUMLも3人にインタビューしていて、3人とも「UML 2.0は失敗」って言い切ってておかしかった。
特にEiffelのBertrand Meyerが強烈に手厳しくて、読んでるともう他の言語はどうしようもなくダメでEiffelこそが至高の言語という気になってくる……のは、おれがMeyerの「オブジェクト指向入門」でオブジェクト指向を勉強したせいだと思うけど。といってもいまだにEiffelは使えないけど(ダメじゃん)。
オライリーからPDFを買うならこちらだけど、いちおうAmazonへのリンクを貼っておく:
言語設計者たちが考えること (THEORY/IN/PRACTICE)
オライリージャパン
¥3,397
オブジェクト指向入門 (ASCII SOFTWARE SCIENCE Programming Paradigm)
アスキー
¥1,200