監訳者あとがき
311
監訳者あとがき
これなら私でも読める、と思いました。
私(監訳者)はプログラミング言語処理系を開発する仕事をしています。ですが、プログラミング言
語に関わる理論が苦手で、なるべく近寄らないようにしていました。この分野の教科書では、数学と
いうツールを使い、無駄なく、緻密な議論が華麗に展開されていくことが多いですが、その基礎を知
らないと、とっつきにくく感じられることもあると思います(私にはそうでした)。また、オートマトン
やラムダ計算など、個々のトピックは知っていても、なぜそれらを学ぶ必要があるのか、いまいちピン
とこない人もいるのではないでしょうか(私がそうでした)。このように、プログラミングは得意として
いても、プログラミング理論というと二の足を踏んでしまう人は、一定数存在するのではないかと思い
ます。
今回、本書(原著タイトル『Understanding Computation』)の監訳の話を頂いたとき、このように
理論分野が苦手でしたが、これなら私でも読める、と思わせる説得力がありました。難しいテーマを
扱っているにも関わらず、読みやすい文章に、具体的なRubyプログラム。とくに、6章にある、
FizzBuzz問題をラムダ計算で解く、数ページにもわたる最終的なProcオブジェクトだけでのRubyプ
ログラムは圧巻です。
本書はコンピュータサイエンスの主要なテーマである「計算とはどういうものか」という問いに対し
て、プログラムの意味から始めて、単純な機械から万能機械、計算可能性か