欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

卑鄙C程序大赛

程序员文章站 2022-03-03 13:03:12
...
C语言圈子里有一个举办多年小有名气的IOCCC(The International Obfuscated C Code Contest)比赛,一帮高手利用C语言的各种犄角旮旯特性和花招,写出天书般的C语言代码,体现自己的创意和语言掌握度。基本上每年10月公布获奖结果。

前几天在Hacker News无意看到还有一个异曲同工的编程比赛叫The Underhanded C Contest,underhanded的意思就是表面一套底下另一套的意思,可以翻译为“卑鄙C程序大赛”。这个比赛的提交作品要求表面上看上去是一个很正常的C代码,易读、干净、好懂,但是实际上做的事情却让人大吃一惊,往往是恶意程序。

比赛是命题式的,指定场景,然后让大家各显其能。今年的题目就是一个微博性的服务,*要来审查用户行为,有某种特征的都记下来,还不让用户自己知道。参赛者的任务是编写审查函数,暗地里把被审查的信息透露给用户和外部世界。

可不要以为这些比赛都是文字游戏,吃饱了没事儿干的。

一方面,这种比赛和各种体育竞技比赛一样,能挑战极限。因此很多高手都乐此不疲,IOCCC历史上获奖者就包括Perl创始人Larry Wall,D语言创始人Walter Bright,Ruby现在的核心之一Yusuke Endoh(他写过好多奇奇怪怪的编程语言,主流编程语言编译接力贪吃蛇程序Quine Relay可是令人叹而观止啊,见下图,现在已经支持100种语言了),《代码阅读》一书的作者Diomidis Spinellis,还有大神Fabrice Bellard

卑鄙C程序大赛

一方面,这种比赛能产生很多有意思而且促使人思考的程序,对于老师和学习者都是很好的资源。很多时候,寻找一些能说明问题又令人印象深刻的edge case是非常头痛的事情。
相关标签: c 编程语言