Hacker News 中文摘要

RSS订阅

第二十八届国际混淆C代码大赛 -- Twenty Eighth International Obfuscated C Code Contest

文章摘要

2024年举办了第28届国际C语言混乱代码大赛(IOCCC),这是该赛事在暂停四年后的重启,标志着其40周年纪念。比赛提交时间为2025年3月5日至6月5日。在此期间,官方网站在多人努力下进行了大规模重建,并开发了新的工具包。参赛者可查看并下载获奖作品,尝试理解其代码逻辑。

文章总结

2024年第二十八届国际C语言混乱代码大赛(IOCCC)

主要内容概述

2024年第二十八届国际C语言混乱代码大赛(IOCCC)在经历了四年的暂停后重新启动,并于2025年3月5日至6月5日期间接受参赛作品提交。本届大赛标志着IOCCC的40周年纪念,吸引了来自全球的众多参赛者,提交作品的数量和质量均有显著提升。

大赛亮点

  1. 网站重建与工具更新:在四年的暂停期间,IOCCC团队对官方网站进行了全面重建,并开发了新的工具,如mkiocccentry工具包、新的注册流程和提交服务器,以简化大赛的运营流程。

  2. 评审过程:本届大赛的评审工作从2025年6月5日开始,最终于2025年7月7日选出获奖者。获奖名单在YouTube频道“Our Favorite Universe”的直播中公布,并在直播结束后的两小时内发布了获奖作品的源代码。

  3. 获奖作品数量创新高:本届大赛共有23个获奖作品,打破了以往15个获奖作品的记录。评审过程虽然更具挑战性,但由于流程的优化,仅耗时33天。

  4. 代码大小与规则:尽管IOCCC的代码大小限制增加了21%,但许多提交作品远低于新的规则限制。超过一半的获奖作品代码大小不到限制的三分之二,10个获奖作品甚至不到限制的一半。

  5. 未来展望:IOCCC评委计划在短暂的休息后,对大赛规则和指南进行全面更新和优化,以便为下一届大赛(IOCCC29)做好准备。预计IOCCC29将于2025年12月启动。

部分获奖作品介绍

  • kurdyukov1:该作品是对2000年natori主题的重新演绎,避免了浮点运算,展示了巧妙的代码设计。
  • cable1:自称“世界上最小的LLM推理引擎”,运行基于Meta的LLaMA 2模型,展示了高效的代码压缩技术。
  • endoh1:通过C预处理器生成图像,展示了极致的耐心和复杂的代码逻辑。
  • mills:获得“ℤ₃奖”,模拟了Z-machine虚拟机的第三版本,展示了代码的复杂性和趣味性。

对未获奖者的鼓励

IOCCC评委鼓励未获奖者不要气馁,许多获奖作品都是经过多次提交和改进后才最终成功的。评委建议未获奖者可以继续改进作品,或尝试提交不同类型的作品。

编译与运行获奖作品

如果遇到编译或运行问题,建议使用最新版本的clang或gcc编译器,并参考IOCCC的FAQ页面获取更多帮助。

总结

2024年IOCCC大赛在经历了四年的暂停后,以更高的参赛作品质量和数量重新回归。评委团队通过优化流程和工具,确保了大赛的顺利进行,并期待在未来的比赛中继续推动C语言混乱代码的创新与发展。

下载2024年所有获奖作品

评论总结

评论内容主要围绕国际C语言混乱代码大赛(IOCCC)的参赛作品和规则展开,观点多样,既有对代码创意的赞赏,也有对AI时代竞赛未来的思考。

  1. 对代码创意的赞赏

    • 评论3提到去年的参赛作品,一条代码通过哈希值输出自己的标志,令人印象深刻。
      引用: "Reading last years entries, this image decompression oneliner outputs its own logo when passed the hash of its source code?! Pretty neat."
    • 评论5提到一个代码可以在控制台绘制当前月相,创意十足。
      引用: "This code draws the current moon phase to the console. So if you’re a lycanthrope, you can monitor the phase of the moon."
  2. 对竞赛规则的讨论

    • 评论6详细讨论了竞赛规则,特别是关于代码大小的限制,认为规则明确且有趣。
      引用: "The entry rules are great. Highly specific in that way you know exactly how they were abused in the past."
    • 评论1提到竞赛明确保留了每个获奖作品的index.html页面,认为这是值得赞赏的做法。
      引用: "For an obfuscation comp, I love the fact they explicitly refer to and do not rewrite 'index.html web pages for each winning entry'."
  3. 对AI时代竞赛未来的思考

    • 评论2质疑在AI时代,参赛作品是否大量使用了LLM(大语言模型)。
      引用: "So everybody just LLM'd this, right?"
    • 评论9对AI时代这类竞赛的未来表示担忧,认为类似Advent of Code的竞赛也可能受到影响。
      引用: "I wonder what the future of these competitions is in the era of AI. Same for the Advent of Code."
  4. 对代码混淆的幽默与怀念

    • 评论7认为混淆代码是真正人类开发者的标志,带有幽默感。
      引用: "Ah, obfuscated code, the mark of a genuinely human developer. :-)"
    • 评论4回忆了C语言老师分享混淆代码的经历,表达了对这种代码风格的怀念。
      引用: "Thank you Barry Kerchival, My C programming teacher for sharing obfuscated code, and showing us utter abuse of the C pre-processor."
  5. 对其他竞赛的期待

    • 评论8希望另一个类似的竞赛“Underhanded C”也能回归。
      引用: "Can https://www.underhanded-c.org/ also please come back!"

总结:评论者对IOCCC的创意代码和明确规则表示赞赏,但也对AI时代竞赛的未来表示担忧,同时怀念和幽默地看待代码混淆的传统。