阅读更多

2顶
0踩

编程语言

原创新闻 卑鄙C程序大赛

2015-06-08 15:04 by 副主编 mengyidan1988 评论(0) 有7378人浏览
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



一方面,这种比赛能产生很多有意思而且促使人思考的程序,对于老师和学习者都是很好的资源。很多时候,寻找一些能说明问题又令人印象深刻的edge case是非常头痛的事情。
  • 大小: 43.4 KB
来自: 极客头条
2
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 泛型概述 (Bruce Eckel问 Anders Hejlsberg答)

    泛型概述 (Bruce Eckel问 Anders Hejlsberg答)

  • Delphi、C# 和 TypeScript 之父 Anders Hejlsberg(安德斯·海尔斯伯格,海神)赶潮AI

    TypeChat 简化了使用 TypeScript 构建自然语言模型界面的过程,用户可以通过与 AI 对话,抹平了自然语言和结构化数据之间的差距,使开发人员更容易将自然语言界面集成到他们的应用程序中,从而构建类型安全的UI。

  • Delphi/C#之父Anders Hejlsberg

    Delphi、C#之父Anders Hejlsberg 近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流。本文就为读者描述一下近距离接触大师的印象,以及Anders对TypeScript的设计理念和想法。 Anders Hejlsberg(安德斯·海尔斯伯格)于1960年出生于丹麦,在Borland公司...

  • 语言大师 Anders Hejlsberg

    语言大师Anders Hejlsberg介绍  1.Anders图片     Anders Hejlsberg,是丹麦人,曾在丹麦科技大学学习工程学。1981年前,Anders Hejlsberg 在丹麦有个公司叫Poly Data,他编写了Pascal编译器核心,最初叫Compass Pascal,后来叫Poly Pascal。1981年,Anders把该编译器核心授权给了Borland。And

  • 欧洲编程语言四巨头

    尼克劳斯·沃斯 (Niklaus Wirth),迪杰斯特拉(Edsger Dijkstra),霍尔(Tony Hoare),Anders Hejlsberg(安德斯·海尔斯伯格)

  • Anders Hejlsberg

    虽然Anders没有显赫的学历,无法获得TurningAwards(即图灵奖,信息科学界最高荣誉的奖项,等同于诺贝尔奖)。但是我认为Anders的实力和贡献绝不输于任何一位TurningAwards的得奖人。Anders是最好的信息实践型人物,在2001年,他终于获得了信息界最具权威的信息刊物Dr. Dobbs'Journal颁发的Excellent ProgrammingAwards,...

  • C#、TypeScript 之父 Anders Hejlsberg:“会用 Excel 的,都是程序员 ”

    Anders Hejlsberg是世界上最重要的计算机程序员之一。作为Turbo Pascal、Delphi、C#和TypeScript等编程语言的创造者,在构建微软.NET等开发环境方面极具影响力,Hejlsberg影响了数以百万计的软件开发人员。近日,Hejlsberg与TNS新闻编辑Darryl K.Taft进行了一场线上对话,围绕微软低代码/无代码、Web3等话题,分享了他对许多与软件开发相关的事情的看法。

  • .NET和Pascal之父Anders Hejlsberg 谈编程的发展

    大家好,我是Anders Hejlsberg,现在是微软的Technical Fellow,担任C#编程语言的首席架构师,也参与并领导.NET Framework以及各种语言的开发。我现在打算谈一下……实际上是我脑海中一些影响未来5到10年编程语言设计的内容。比如C#或VB该怎么走,F#该怎么办,这次演讲主要就是讨论这些影响我们的东西。

  • Anders Hejlsberg讲解现代编译器结构

    《编译原理》又名龙书,是编译器结构的主要参考书,首次出版于1986年。 Anders Hejlsberg,以从事Turbo Pascal,Delphi,C#和TypeScript的开发而闻名,在Channel 9的采访中讲解当前的编译器结构和30年前的不同。\u0026#xD;\n\u0026#xD;\n经典编译器的主要特征是顺序处理输入,各个阶段都可以看作是管道的组件。\u0026#xD;\n\...

  • C#之父 Anders Hejlsberg

    Anders Hejlsberg (born December 1960)[2] is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. ...

  • 安德斯·海尔斯伯格(Anders Hejlsberg)非正式访谈录

    今天终于见到了仰慕已久的大牛——安德斯·海尔斯伯格,微软总部之旅,算是没有白来。安德斯是世界级的编译器技术领导者,他最早为Algol-60语言撰写编译器,然后将自己撰写的Pascal语言编译器授权给了Borland公司,这就是举世闻名的Turbo Pascal,也是后来演化成为作为Delphi集成开发环境的基础语言的Object Pascal的核心。后来,在两大编译器和开...

  • 心目中的编程高手 (9) -- Anders Hejlsberg

    Anders Hejlsberg,微软.NET的首席架构师,编程语言设计和实现的顶尖高手。他一手做出了Turbo Pascal, 也是Delphi, J++(尤其是WFC),C#, 和.NET的主要作者。这些作品的名字足以为他立传。作为一个程序员,我在这样的大师面前实在无语。生子当如Anders的说。李维的>里已详细讲述了Anders的传奇故事,我就不用费舌了:http://java.mblogg

  • [翻译] Anders Hejlsberg访谈录——Geek of the Week

    [翻译] Anders Hejlsberg访谈录——Geek of the Week 原文地址:http://www.simple-talk.com/opinion/geek-of-the-week/anders-hejlsberg-geek-of-the-week/ 原作者:Richard Morris 译文地址:http://www.cnblogs.com/AndersLi...

  • Anders Hejlsberg 的故事 Delphi和C#的缔造者,Borland的创始人之一

    Anders Hejlsberg的故事 c#之父是Anders Hejlsberg, 一个丹麦天才。他和idsoft的John Carmack都是自学成才的典范。 他对语言和汇编的理解全世界没几个人能超越。 (今天偶然从网上了解到这个大牛,很仔细的找了一些他的资料,人都有这样一个爱好,吃了一个好吃的鸡蛋,便想认识这个下蛋的母鸡,下面是关于此人的一些故事,网上得来,如有侵权,请留言告知!) 当...

  • C#之父Anders Hejlsberg演讲解读:编程语言大趋势

    在Anders眼中,如今影响力较大的趋势主要有三个(如图2),分别是声明式的编程风格(包括领域特定语言、函数式编程)、动态语言(最重要的方面是元编程能力)以及多核环境下的并发编程。此外随着语言的发展,原本常用的面向对象语言、动态语言或是函数式等边界也变得越来越模糊,例如各种主要的编程语言都受到函数式语言的影响。因此,多范式程序设计语言也是一个愈发明显的趋势。

  • 基于jsp+servlet+mysql的javaweb健身房俱乐部系统

    包括系统管理后台和前端动态网页的设计搭建。系统管理后台提供给俱乐部员工使用,可以对俱乐部的课程、器材、房间等进行管理维护;前端网页主要提供给消费者使用,可以在线浏览课程、预约上课等。 技术栈:JavaScript,Mysql 数据库,JSP、tomcat、HTML、CSS。

  • Tomcat安装配置基础详细教程讲解.docx

    tomcat安装及配置教程 Tomcat安装配置基础详细教程讲解.docx

Global site tag (gtag.js) - Google Analytics