IOCCC 1992の解説
全体の印象
アスキーアート化されたプログラムが急増した([[1992/buzzard.1]]、[[1992/gson]]、[[1992/imc]]、[[1992/kivinen]]、[[1992/westley]])。
無意味に面白い形状ではなく、プログラム挙動に絡めた絵や文言を表現するものが多い。
おすすめなのは[[1992/imc]]で、マンデルブロ集合を計算するマンデルブロ集合形状のプログラム。
「プログラムをアスキーアートにする」という一般的なIOCCCのイメージはこの年から確立していったと思う。
背景としては、この年のIOCCCから、ルールの他に審査員の好みを伝える「ガイドライン」が提供されるようになり、その中で「単に四角にしただけのコード」「マクロでわかりにくくしただけのコード」などはもはや好まれないことが明記されたことがある。
さらにアスキーアート化を後押しする形で、コードサイズ制限がより緩和された。
前年のルールは「作品は1536バイト以下であること」だったが、この年から次のようにややこしいルールとなった。
- 3217バイト以下であること。
- 空白文字と、直後に空白文字が続く
;
か{
か}
の文字、を除いた文字の数が1536個以下であること。
つまりたとえば、「; ; ;
」という文字列は、2つめのルールでは0文字とカウントされる。
この複雑な文字数カウントルールは、いろいろなネタを生み出すことになる。
3217は454番目の素数だけれど、これが選ばれた理由はよくわからない。
挙動を作り込む系統の作品は、makeコマンド互換プログラムやチェスAIなど、高度化が進んだ。
言語処理系作品も、解析機関やFORTH互換インタプリタなど、やはり複雑なものが好まれている。
コード遊びの作品として、[[1992/adrian]]が特筆に値する。
grep風コマンドであり、それ自身がgrepの検索クエリとなっており、さらに自分自身をgrepして得られる結果が別のプログラムになる、という重ねっぷりがすばらしい。
一方で、[[1992/westley]]のような小洒落た一品も。
入賞作品一覧