第 29 届国际 C 语言代码混淆大赛 (IOCCC) 公布了 2025 年的获奖名单。本届比赛在提交作品的数量和质量上都保持了高水平,亮点作品包括 GameBoy 模拟器、海洋声音生成器和 Quine 乒乓游戏等。同时,主办方对评审流程、网站运营进行了改进,并新增了“趣味挑战”环节。下一届比赛 (IOCCC 30) 计划于 2026 年底启动。
赛事概览与趋势
第 29 届 IOCCC 是在中断四年后连续举办的第二届比赛。尽管如此,本届比赛的 提交数量和质量仍然接近历史高位。主办方认为,这可能归功于以下因素:
- 优化的网站设计
- 增强的社交媒体影响力
- 参赛者在以往获奖作品的基础上进行创新
此外,主办方对从提交截止到公布结果的整个流程进行了 详细的文档记录,这带来了运营效率的整体提升。
值得关注的获奖作品
本届比赛涌现了许多极具创意的作品。一些特别引人注目的项目包括:
- 2025/ncw1: 一款 GameBoy 模拟器。
- 2025/tompng: 一个能生成 海洋声音 的程序。
- 2025/uellenberg: 实现 Quine 乒乓 游戏的代码。
- 2025/cable: 一个 Subleq 计算机 模拟器。
- 2025/yang2: 实现了 Zoltraak 编码。
值得注意的是,本届比赛出现了三位作者分别完成“帽子戏法”的罕见情况,即每人都有三项作品获奖。同时,也迎来了来自新地区(台湾)的获奖作者。
新增的“趣味挑战”
本届比赛在“评委评语”部分新增了 “趣味挑战” (Fun challenge)。在理解了某个获奖作品的功能后,任何人都可以尝试完成这些挑战。
- 挑战形式多样,可能要求你创建程序的替代版本或解释某些工作原理。
- 可以通过提交 GitHub pull request 的方式贡献你的解决方案。
- 即使挑战已经关闭,如果你有更好的方案,依然可以提交。
给未获奖者的鼓励
主办方特别鼓励那些提交了作品但未获奖的作者。
“有趣的是,IOCCC29 的不止一个获奖作品,实际上是往届未获奖代码的改进版本。”
如果你提交的作品这次没有胜出,可以考虑将其打磨完善后,在下一届比赛中再次尝试。
- 不要放弃希望:有些作品是经过多次修订和重新提交后才最终获奖的。
- 可以公开发布:如果你不打算重新提交,也欢迎将你的作品公之于众。
编译与运行指南
如果遇到编译或运行问题,建议尝试使用 更新版本的 clang 或 gcc 编译器。官网的常见问题 (FAQ) 页面提供了关于编译、依赖问题以及如何提交修复的详细指南。
未来展望:IOCCC 30
下一届比赛 IOCCC 30 计划于 2026 年底开放,并于 2027 年第一季度末截止。在处理完本届比赛的后续事宜后,评委们计划进行一次短暂的“IOCCC 假期”。