第 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 程序实现了一个能够运行 Linux 和 Doom 的单指令集计算机 (OISC)。
  • 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 提交作品的高质量表明作者们正在借鉴以往获奖者的思路,并受益于社交媒体影响力的提升和网站设计的改进。

为了提高竞赛的运营稳定性,评委们实施了以下变更:

  • 正式文档化: 提交截止、评审和网站更新的过程都经过了仔细的文档化,以确保一致性。
  • 更新的规则: 在志愿者的帮助下,规则 (版本 29.15) 和指南 (版本 29.08) 经过了大幅重写,以提高组织性和清晰度。
  • 互动挑战: “评委评语”部分现在为每个获奖作品增加了“趣味挑战”,鼓励社区通过 GitHub pull requests 提交改进版本或替代版本。

社区讨论与 LLM 的影响

大语言模型 (LLMs) 的出现引发了社区关于混淆竞赛未来的讨论:

  • LLM 许可性: IOCCC 指南明确允许使用 LLMs,承认作者们一直以来都有使用自己专门的工具来开发混淆代码的历史。
  • 混淆的价值: 一些社区成员质疑,当 LLMs 可以自动将清晰的代码转换为混淆的 C 代码时,这项竞赛是否仍然具有意义。其他人则认为,LLM 所能达到的混淆程度可能会使它们本身成为有趣的竞争者。

未来展望

IOCCC30 计划于 2026 年底左右开放,并于 2027 年第一季度截止提交。评委们打算维持目前这种注重文档的管理流程,以确保顺利过渡到具有里程碑意义的第 30 届大赛。

Sources