1755436447
2025-08-17 13:03:00
今年の国際的な難読化Cコードコンテスト(IOCCC)は、4年間の休憩の後に戻ってきました。
勝利エントリ C言語のマスターズを紹介しました。1つは、サーモンのレシピを印刷するための目に見えないUnicode文字を含むプログラムと、Atari 2600の8ビットの音楽とグラフィックポートで審査員をリックロールしました。
創設者を含む審査員 ランドン・カート・ノル、コードを分析するために大規模な言語モデル(LLM)を実験している間、モデルは結果の結果が混在しており、最終的な審査プロセスでは使用されていないことに注意してください。
審査員はまた、人間が現在のAIモデルの能力をはるかに超えたコードを作成できることを強調しました。悪名高い「Rickroll」を含むすべての勝利エントリのソースコードは、特別なGitHubリポジトリで利用できるようになりました。 IOCCCは2025年12月に再び戻ります。
そしてもちろん、「すべてのコンテストには、人々ができることを示すCでできることを知らなかった新しいものがあります!」ノルは言った。
ライブプレゼンテーション
これはプログラマーの世界での象徴的なコンテストであり、今年は40年前の伝統の復活、つまり勝者のライブアナウンスも見ました。 1980年代に、受賞者は常にUsenix会議の特別セッションで発表されました(BSDの次のリリースに関するセッションの直後)。これは、「透明度とオーバーヘッドプロジェクターの使用で構成されていました」とNoll氏は言います。世界にはまだデジタルプロジェクションが可能なコンピューターがなかったからです。
しかし、競争の主催者は現在、インフラストラクチャを近代化しました。ソースコードがコンパイルされたときに、勝利エントリからの魅力的な出力を披露するビデオを提供しています。ここ2025年、ノルは「各エントリにそれに値する独自のスポットライトを与えたいと思った」と言った。 デビッド・マッキニス 異なる場所からの複数のビデオやオーディオフィード、さらにはオリジナルの音楽を含む、授賞式の精巧なプロダクションを作成するため。
象徴的なコンテストはついに4年間の休止から戻ってきましたが、Nollは、非常に多くの高品質の提出物のために、出場者がエントリーを微調整するためのより多くの時間を提供したと考えています。過去数年間、彼らは12〜15の賞を授与しましたが、今年は他のどの年よりも23を授与しました。 「私たちは、これらの驚くべき勝利のエントリのいくつかを残すための良い正当化を本当に思いつくことができませんでした!」
「「ベストオブショー」や「大賞」の勝者はありませんでした。そのタイトルに値するエントリがたくさんあったこともあります!」
AIはコンテストに影響しますか?
長い休みには別の利点がありました。 A. Broukhis (1993年と1995年の2回の勝者、および1998年以来の裁判官)は、長い休憩により、ソースコードを分析するためにLLMSを実験する機会が与えられたことを指摘しました。しかし、結果は混在していました。 「一部のエントリでは、LLMSは、コード構造全体に基づいて、または数学でロジックを使用するかどうかに基づいて、エントリが何をするかを推測することができました…
「そして、いくつかのエントリにとっては、それは完全に無知でした。」
Nollはまた、LLMSを使用していないことを明らかにしました 彼らの 審査プロセス。また、彼はまた、将来のエントリを作成するために人々がそれを使用することをお勧めしませんでした。 「あなたが得るものはゴミであるものです – コンパイルさえしません…そして多くのモデルはcのように見えるが完全にあるものを生成します とは異なり c – コンパイルすることさえできないので、はちろいは言うまでもなく!」
IOCCCエントリを審査してから40年目に、Nollは人間のプログラマーに証言を共有しました。 「これらのプログラムを書いた人々は、多くの努力とスキルを置きます。彼らはC言語のマスターです。そして、彼らはそれを提示し、それを小さな塊にするマスターです!」
今年、プログラマーのエイドリアンケーブルが作られました 750バイトLLM推論エンジン (より大きな7ギガバイトモデルを使用)。 「すぐにモデルがすぐにコードを作成できるとは思いません!」
しかし、両方の裁判官は、LLMSが将来のコンテスト参加者にとってより有用である可能性があると示唆し、コードを理解するのが本当に難しいかどうかをテストしました。 Nollは、難読化されたコードでLLMを切り詰めたいことの例を示しました。 「それが「Piを印刷する」と言っていれば、代わりにあなたをリックロールします。
‘あなたを決してあきらめない’
今年、審査員は、イギリスの歌手リック・アストリーによる1987年の曲「Never Gonna Give You Up」のミュージックビデオのハイパーリンクをクリックするように誰かをtrickすることを伴う数十年前のインターネットのいたずらであるRickrolledでした。
裁判官は、あなたがあなたの人生で見た中で最もオタクのいたずらであるものの犠牲者になったので、彼らの思考プロセスを説明しました。あります いくつかの定数の大規模な宣言、そして2番目の子プロセスへのフォーク、「自分が読んでいる…他のものをいくつか出力している。何が起こっているのかはっきりとはっきりではありません。そこで少し眠っているのは…何が起こっているのか?この子犬は何ができるのか?」
「私たちはリックロールされました!」
「これは基本的に、8ビットの音楽やグラフィックを含むこのプログラムのAtari 2600バージョンにあったものの大まかなポートであり、それは古典的なものです…」Nollはプレゼンテーションで説明します( プログラマーVince Weaverからの提出)。 「サウンドファイルとグラフィックスの出力で何かをしているという考えがありましたが、今では知っています。」 (そして、物事を教育的に保ち、ノルは聴衆に「ソースコードを見て、それがどのようにリックロールするのかを理解する」ように助言しました。)
さらに驚くべきことは、エントリーからのエントリでした 伝説的な難読化されたCプログラマーYusuke Endoh。 Endohのプログラムを実行すると、さまざまな形のスピニングオブジェクトの美しいASCIIアニメーションが表示されます。「トップなどの回転する剛体の」現実世界の物理学を示しています。
追加の効果のために、Endohは彼の重度の難読化されたコードを間隔でさえさえしました。そのため、その白さは紡績上のイメージも形成しました。
プログラマーAdrianケーブルが提出されました 2番 賞を受賞したエントリ 今年 – 1つの無害な15ラインプログラム 非常に誤解を招く変数宣言。
unsigned int *salmon = u “は非常においしい”です。
それでも、このプログラムは、グリルサーモンのレシピ全体を何らかの形で印刷しています。 (「サーモンの切り身、オリーブオイル、レモンジュース、ニンニク、塩、胡pepperを添えて…」)
どうやって?難読化の魔法を通して。実際には追加のコードにはさらにいくつかの行がありますが、それらはすべて、ほとんどのテキストエディターのデフォルト設定では表示されない目に見えないUnicode文字で書かれています。
最終的にはコンテストの「マーキーウォーターズ」賞を受賞しました…
そして、追加の難読化のために、著者は困惑さえ含めました のために ループ – おとりとして。コードが実行されると、実際に実行されることはありません…。
for(int i = 1; i
次は何ですか?
今aがあります 特別なgithubリポジトリ ソースコードでは、今年の優勝エントリだけでなく、毎年1984年までさかのぼります(ビデオでは、Nollは今年の受賞者のソースコードをリポジトリの最新のディレクトリにプッシュしました)。
「リックロールを含めて、そうであれば。」
で パトレオンに投稿されたビデオ、Nollはまた、今後数年間で、「IOCCCの勝者の過去と最高のいくつか」に関する短いビデオがあると約束しています。そして、次のコンテストでは、彼らはエントリのパッケージ化に使用されるツールを更新することを計画しています(「プロセスにある多くのプル要求があります。」) – 独自のサーバーと審査員が使用する内部ツールの改善。
IOCCCはすぐに再び戻ります。 別の投稿 彼らのエントリを受容するサーバーは、「2025年12月に開始されるIOCCC29登録期間の開設時に操作を再開する」と説明しています。彼らはルールとガイドラインを書き直してトリミングすることを計画しています – そして、私たちの審査の経験に基づいて、必然的にいくつかの新しいルールがあります これ コンテスト。”)
しかし、今のところ、審査員は最初に楽しみにしています – 休暇。 「2020年12月からこのプロジェクトに一生懸命取り組んできました」とNoll氏は言います。 1つのPatreonビデオで。 「そして、私たちを助けるために多くのボランティアがいました。何千時間もの仕事がツールとウェブサイトに入りました…。
「今こそ勝利のエントリの著者の結果を楽しんで、休憩を取る時が来ました。だから私たちはオフラインになります。紙に書かれた本を読んだり、しばらくの間プラグを抜いたりするようなことをするつもりです。」
「IOCCC28の優勝エントリをお楽しみください。彼らはすばらしく、それらをあなたに提示できることを本当に嬉しく思います!」
youtube.com/thenewstack
ハイテクは速く動き、エピソードをお見逃しなく。 YouTubeチャンネルを購読して、すべてのポッドキャスト、インタビュー、デモなどをストリーミングします。
購読する
スケッチで作成されたグループ。

デビッド・カッセルは、サンフランシスコ湾岸地域の誇り高き居住者であり、20年以上にわたってテクノロジーニュースをカバーしています。長年にわたり、彼の記事はCNN、MSNBC、およびWall Street Journal Interactiveからどこにでも登場してきました…
David Casselの詳細を読んでください
#難読化されたCコードコンテストはAIの時代に直面しています