コードジェネレータを作るのが好き

高木です。おはようございます。

以前からこのブログでは、私の好き嫌いについていろいろ書いています。
嫌いなものとしては、Android、Java、Webアプリケーションなどが挙げられます。

Webを使ってゴソゴソやるのはどちらかといえば好きですが、Webアプリケーションを作るのが嫌いなのです。
サイトの運営やら広報活動とかは決して嫌いではありません。

嫌いなものばかり挙げていてもしかたがないので、たまには好きなものも挙げることにします。
最近よく使っているPHPはどちらかといえば好きな方です。
Tclは好きとはいいませんが、嫌いではありません。

プログラミング言語などの開発ツール以外に、開発する対象としては、コードジェネレータを作るのは相当好きな方です。
今取り組んでいるPCP: C++ Preprocessorもコードジェネレータ的な要素をふんだんに盛り込んでいます。
TOPPERSプロジェクトでは、システムコンフィギュレータにもかなり長い期間取り組みましたが、これもまさにコードジェネレータです。

コードジェネレータというのは、生成するコードを表現するプログラミング言語に十分詳しくないとまともに作れません。
少なくとも、リファレンスと格闘しながらコーディングして、とりあえずコンパイル&実行を繰り返しながら、おかしなところを是正していくことしかできないようでは無理です。
コードジェネレータというか、メタプログラミング全般にいえることですね。

プログラマーにもいろんなタイプがいるので、コードジェネレータとかの地味なものが好きな人もいるということです。
わかりやすいアプリでも作っている方が一般ウケするのかもしれませんけど。