昨日、訂正・注意しましたように、メイヤー本はAmazonから容易に入手可能です。なので、「入手困難本を話題にしている」という気兼ねを感じずに遠慮なく話せます。あー、よかった。
それで今日は、『プログラミング言語理論への招待』を取り上げます。([追記]エーンッ、これはもう売り切れで、ユーズドしかないようです。増刷予定もないだろうしな。[/追記])
全体的な印象
この本の話題はプログラミング言語の形式意味論で、扱っている内容自体は、他の本を数冊読めばカバーできるとも言えます。が、ハナシの進め方、説明の方法、事例の選び方、ときに披露される見識と蘊蓄 -- やっぱりメイヤー本ですわ。とはいえ、『オブジェクト指向入門』に比べると、強引さと饒舌さが弱まっているので、(世間的に)標準的な教科書の体裁になっています。
この本は、Tony Hoare(C.A.R. Hoare)の編集するシリーズの一冊だそうで、翻訳本には二木厚吉先生が監訳者まえがきを書いています。メイヤー先生のキャラクタは権威とは無縁なものですが、理論家としての評価も高いことがわかるでしょう。
しかしメイヤー先生は、強力な理論的バックグランドを持ちながらも現場寄り、実務の人、実践家ですから、予備知識を少なくする工夫をしています。そして、想定する(希望する)対象読者についてこう書いています:
仕事上用いられるさまざまな原理原則に更なる理論的な基礎を求める普通のソフトウェア技術者達に楽しんでいただけるものと期待する。
同様な趣旨を述べた、監訳者、翻訳者のことば:
「理論」という言葉すらも虚ろに響く不合理な現実の中で、本物のもの作りを目指して日夜努力を積み重ねている多くの「現場のプログラマ」に読まれることを期待したい。
「プログラミング言語の理論なんて知らなくても、動くプログラムはかけるから関係ないや」とお考えの技術者にこそ、本書をお勧めしたい。
メイヤー先生って、ほんと、熱心な教育者なんじゃないのかな(学生に好かれるかどうかはワカランが)。説明はとにかく懇切丁寧。実際の講義をもとにしているから、お話を聞いているような印象を受けます。それと、数式や擬似コードがとてもきれいに印刷されています。仕様記述言語Zを多少意識したような記法で、たぶんTeXで組み版しているのでしょう。このへんもメイヤー先生のこだわりって感じ。
翻訳本について
形態的にいって、大判過ぎるので、級数落として行間詰めて欲しかったけど、これはまー個人的な好み。部数が出そうにないので、出版社のフトコロ事情を斟酌すれば値段が高いのはしかたないかもしれません。
組み版はきれいだし、日本語も読みやすい(句読点が足りない印象はある)のですが、誤訳が若干あります。「えっ、なんで?」という感じがするのですが、その事情は二木先生のまえがきに(問わず語りで)書いてあります。
私の名前が監訳者として出るのは一に上に述べた出版決定までの経緯による。酒匂さんの翻訳は、監訳など必要としないほど完成度の高いものであった。
と、二木先生、いちいちチェックはしなかったようです。
で、僭越ながら、イカガナモノカと思える点を指摘しますと: まず第5章「ラムダ計算」の「5.8 契約」。メイヤー先生といえば「契約(contract)」ですから、さもありなん。いや、違います。
(5.8) これは契約(contraction)、または、β変換(β-conversion)と呼ばれる。
contractionは契約じゃなくて「縮約」「簡約」「還元」とかです(reductionともいう)。
第9章「公理的意味論」で:
(9.7.2) プログラムの確率(provability)を配慮した数少ない言語さえも …
provabilityは確率(probability)じゃなくて、「証明可能性」です。bとvの見間違えでしょう。
もうひとつ「9.2.6 推論規則」で、間違いとは断定できませんが、modus ponensの訳語に「肯定式」を使ってますが、これどうなんでしょう? 僕は見たことも聞いたこともないです。カタカナ書きで「モダス・ポネンス」でいいのではないでしょうか。
と、こう書くと翻訳の品質が低いように思うかもしれませんが、そうじゃありません、大丈夫。原語をこまめに引用しているし、素直な日本語(そもそも判読できないようなことはない)なので、変なところがあっても検出できるでしょう。
その内容は?
内容については何も触れませんでしたが、5年10年で古くなるようなものじゃありません。メイヤー先生が(そして、監訳者も翻訳者も)期待したような読者層がほんとに読んでくれるか? 正直、ちょっと辛そうだな、と思います。が、分量を絞って(例えば、第5章のラムダ計算までにするとか)読書会とかするのがよさそうです。