第29屆國際混淆 C 語言程式碼競賽 (IOCCC) 2025 得獎者

IOCCC 2025 重點與獲獎作品

第29屆國際混淆 C 語言程式碼競賽 (IOCCC) 已公佈 2025 年的獲獎者,這標誌著在投稿量與品質上都達到了接近歷史性的高度。本競賽持續挑戰程式設計師去創造最具刻意混淆性卻仍具備功能的 C 語言程式碼,今年的獲獎者展現了廣泛的技術複雜度與創意藝術性。

值得注意的技術成就

幾項獲獎作品因其極端的技術野心與視覺呈現而脫穎而出:

  • GameBoy 模擬器 (ncw1):獲頒「最佳真實模擬器」,此作品特別因其原始碼在視覺上看起來像一台 GameBoy 而受到關注。作者 Nick Craig-Wood(亦即 rclone 的創作者)在 2025 年贏得了三項獨立獎項,達成了「Hat trick」。
  • Subleq 電腦 (cable):被認可為「最佳虛擬模擬器」,這個 366 位元組的 C 語言程式以實現了一種單指令集電腦 (OISC),能夠執行 Linux 與 Doom。
  • Quine Pong (uellenberg):一個結合了 Pong 遊戲功能與 quine(會印出自身原始碼的程式)的作品。
  • Patch/Diff Quine (endoh3):由 Yusuke Endoh 提交的高韌性作品,他今年也憑藉三項獲獎達成了「Hat trick」。
  • 其他卓越作品:獲獎者還包括海洋聲音產生器 (tompng)、類 Rogue-like 遊戲 (jhshrvdp) 以及 Zoltraak 編碼程式 (yang2)。Don Yang 同樣也憑藉三項獎項達成了「Hat trick」。

競賽演進與行政管理

在經歷了四年的中斷 (2020-2024) 後,IOCCC 的參與度出現了復甦。主辦單位指出,IOCCC29 投稿作品的高品質顯示出作者們正建立在過去獲獎者的構思之上,並受益於社群媒體影響力的提升與網站設計的改進。

為了提升競賽的運作穩定性,評審團實施了以下變更:

  • 正式文件化:關閉投稿、評審以及網站更新的流程都經過了仔細的文件化,以確保一致性。
  • 更新的規則:在志願者的協助下,規則 (version 29.15) 與指南 (version 29.08) 經過了大幅度的重寫,以提升組織性與清晰度。
  • 互動式挑戰:現在「評審評語」部分會為每項獲獎作品提供「趣味挑戰」,鼓勵社群透過 GitHub pull requests 提交改進版本或替代版本。

社群討論與 LLM 的影響

大型語言模型 (LLMs) 的出現引發了社群對於混淆競賽未來發展的討論:

  • LLM 使用許可:IOCCC 指南明確允許使用 LLMs,因為這承認了作者們一直以來都有使用自己開發的專用工具來開發混淆程式碼的歷史。
  • 混淆的價值:部分社群成員質疑,當 LLMs 可以自動將清晰的程式碼轉換為混淆的 C 語言時,這項競賽是否仍具備意義。其他人則認為,LLMs 所能達到的混淆程度可能會使其本身成為有趣的競爭者。

未來展望

IOCCC30 預計將於 2026 年底左右開放,並於 2027 年第一季結束投稿。評審團打算維持目前這種重視文件化的行政流程,以確保順利過渡到具有里程碑意義的第 30 屆競賽。

Sources