原來還有一個Underhanded C Contest:卑鄙C程序大賽

jopen 9年前發布 | 5K 次閱讀 C程序

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。 

原來還有一個Underhanded C Contest:卑鄙C程序大賽

一方面,這種比賽能產生很多有意思而且促使人思考的程序,對于老師和學習者都是很好的資源。很多時候,尋找一些能說明問題又令人印象深刻的 edge case 是非常頭痛的事情。

來自: CSDN

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!