知的にエキサイティングな行為はいろいろあります。例えば,パズルを解くこと,囲碁や将棋をたしなむこと,プログラミングなどがそれにあたります。 なかでも,プログラミングにはパズルや囲碁・将棋にない大きな特徴があります。それは,プログラミングに使用する言語処理系を,プログラミングによって生み出すことができという特徴です。パズルを解くことでパズルが生み出されたり,将棋を指すことで将棋のコマが生まれるようなことはあり得ません。しかし,プログラミングの世界ではそのようなことがあり得るのです。それを体験できることが,ほかと異なるプログラミングならではの面白さと言えます。 「いや,理屈はそうであっても,難しくて僕らに作れるわけがない…」,そう思う方々もいるでしょう。もちろん,大企業や有名な団体が開発し,配布しているような有名言語処理系(例えば米MicrosoftのVisual StudioやGNUプロジェ