Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2008-12-26

Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~

アマゾン → Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~

献本していただいた。 何かお手伝いしたわけでもないし突然のことだったので驚いた。 ゲーム本のソースコードの掲載の仕方を参考にして下さったとのことで大変光栄だ。

Rails of Ruby on Railsのときもそうだったけど、いきなり献本されるとうれしいものだ。

はじめから1/3くらいまで読み進めたが、これは面白い。ここ数日アマゾンのRuby部門でもランキング1位のようだ。

最初に「Ruby練習問題」という章があるのだけど、ここでRubyの特徴にさりげなく触れ、Rubyを知らない人が躓きそうなポイントを一通り説明してしまう。これが自然でわかりやすく読みやすい。 ここではRubyの機能だけじゃなくRubyを取り巻く環境にも触れている。たとえば次のように。

「なんでRubyには『++』がないの?」といった質問は定期的にメーリングリストに流れるが、 「オブジェクト指向的に自然な定義をするのが難しいから」というのがRubyの作者、まつもとゆきひろ氏の答えだ。 もちろん、この意見を覆すだけのメリットと一貫性のある仕様を誰かが提示できれば Rubyに「++」が導入される可能性はあるが、今のところそれに成功した人はいないようだ。

こういうところもすごく気に入ってしまった。

そして言語の実装の話に入るわけだけど、言語の実装と言うと難しく思えるが、 これがすごく簡単なところからスタートするので、その手の素人でも問題なく読める。

8命令しか存在しないBrainf*ckと言う超シンプルな言語が登場するのだが、これを見てプログラミング言語とはなんだろうと考えさせられたり。

本を読むのがすごく遅いので、なかなか一気に最初から最後まで読むことはできないのだけど、この本は読みやすくて面白いから一気に読んじゃうかも。 今までに読んだRuby本の中で一番面白い(1/3しか読んでないけど)。