IOCCC 1992の解説

全体の印象

アスキーアート化されたプログラムが急増した([[1992/buzzard.1]][[1992/gson]][[1992/imc]][[1992/kivinen]][[1992/westley]])。 無意味に面白い形状ではなく、プログラム挙動に絡めた絵や文言を表現するものが多い。 おすすめなのは[[1992/imc]]で、マンデルブロ集合を計算するマンデルブロ集合形状のプログラム。 「プログラムをアスキーアートにする」という一般的なIOCCCのイメージはこの年から確立していったと思う。

背景としては、この年のIOCCCから、ルールの他に審査員の好みを伝える「ガイドライン」が提供されるようになり、その中で「単に四角にしただけのコード」「マクロでわかりにくくしただけのコード」などはもはや好まれないことが明記されたことがある。

さらにアスキーアート化を後押しする形で、コードサイズ制限がより緩和された。 前年のルールは「作品は1536バイト以下であること」だったが、この年から次のようにややこしいルールとなった。

  1. 3217バイト以下であること。
  2. 空白文字と、直後に空白文字が続く;{}の文字、を除いた文字の数が1536個以下であること。

つまりたとえば、「; ; ; 」という文字列は、2つめのルールでは0文字とカウントされる。 この複雑な文字数カウントルールは、いろいろなネタを生み出すことになる。 3217は454番目の素数だけれど、これが選ばれた理由はよくわからない。

挙動を作り込む系統の作品は、makeコマンド互換プログラムやチェスAIなど、高度化が進んだ。 言語処理系作品も、解析機関やFORTH互換インタプリタなど、やはり複雑なものが好まれている。

コード遊びの作品として、[[1992/adrian]]が特筆に値する。 grep風コマンドであり、それ自身がgrepの検索クエリとなっており、さらに自分自身をgrepして得られる結果が別のプログラムになる、という重ねっぷりがすばらしい。 一方で、[[1992/westley]]のような小洒落た一品も。

入賞作品一覧

[[1992/adrian]]

Most Educational

もっとも教育的

[[1992/albert]]

Most Useful Program

もっとも便利なプログラム

[[1992/ant]]

Best Utility

最高のユーティリティ

[[1992/buzzard.1]]

Most Obfuscated Algorithm

もっとも難読化されたアルゴリズム

[[1992/buzzard.2]]

Best Language Tool

最高の言語ツール

[[1992/gson]]

Most Humorous Output

もっともユーモラスな出力

[[1992/imc]]

Best Output

最高の出力

[[1992/kivinen]]

Best X Program

最高のXプログラム

[[1992/lush]]

Worst Abuse of the C Preprocessor

Cプリプロセッサの最悪の悪用

[[1992/marangon]]

Best Game

最高のゲーム

[[1992/nathan]]

Worst Abuse of the Rules

ルールの最悪な悪用

[[1992/westley]]

Best Small Program

最高の小さいプログラム

[[1992/vern]]

Best of Show

最優秀賞