97バイトで絵文字24種難読化Cコードの怪奇

テクノロジー

1984年、C言語の「悪戯心」を競う国際的なコンテストが始まりました。

その名も「International Obfuscated C Code Contest」、通称IOCCC。毎年、人間には読みにくいけれど、コンパイラには正しく解釈される、奇妙で巧妙なC言語のコードが集まります。

コードの芸術、IOCCCの世界

第29回にあたる2025年のコンテストでも、驚くべき作品が登場しました。

その一つは、わずか97バイトという極小のコードで、逆ポーランド記法(RPN)の電卓として動作するだけでなく、24種類もの絵文字まで生成するという、まさに「コードの錬金術」と呼ぶべき成果を収めたのです。

IOCCCの歴史を紐解くと、コード全体がヨダの顔に見えるような視覚的な芸術作品や、自己言及的に振る舞うコードなど、プログラミングの枠を超えた創造性が光ります。

なぜ今、難読化なのか

単にコードを難しくするだけでなく、その小ささや独創性、そしてユーモアが審査基準になるのがこのコンテストの面白いところ。

応募作品数は過去、累計で約2500にも上ると言います。

一見すると意味不明な記号の羅列ですが、そこには緻密な計算と、C言語の仕様の隙間を突くような巧みな仕掛けが隠されているんです。

古くて新しい「興味」

「これは一体何をしているんだ?」という困惑から始まり、コードの裏に隠された仕掛けに気づいた時の「なるほど!」という知的な興奮。この感覚こそが、IOCCCが長年人々を惹きつけてやまない理由なのかもしれません。

個人的には、こうした極限まで圧縮されたコードから、本来の機能が立ち現れる様は、まるで現代の「ミニマリスト美術」を見ているような感覚を覚えます。

2025年の受賞作品は、そのすごい小ささで、コードの可能性を改めて私たちに示してくれたようです。

コメント

タイトルとURLをコピーしました