阅读更多

2顶
0踩

编程语言

原创新闻 卑鄙C程序大赛

2015-06-08 15:04 by 副主编 mengyidan1988 评论(0) 有7413人浏览
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 条 请登录后发表评论

发表评论

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

相关推荐

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

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

  • 致敬编程巨匠:Anders Hejlsberg 安德斯·海尔斯贝格

    自 2000 年以来,他一直是开发 C# 语言的团队的首席架构师,在Microsoft的支持下,他继续推动着编程技术的发展,并成为了.NET框架的核心开发者之一以及C#语言的设计领导者。在 1990 年代,Anders 领导的 Delphi 取得了巨大的成功,这也对 Microsoft 的 Visual Basic 构成了巨大的威胁。正是在这个阶段,年轻的Anders展现出了他在编程方面的天赋,他编写了一个Pascal编译器内核,最初命名为Compass Pascal,随后改称Poly Pascal。

  • 欧洲编程语言四巨头

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

  • 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

  • Anders Hejlsberg

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

  • Delphi与C#之父:技术理想架构开发传奇

    Delphi与C#之父:技术理想架构开发传奇

  • delphi windows编程_他曾创造多门编程语言,还被比尔盖茨以300万美元挖角

    C#之父 Anders Hejlsberg : from Google1. 少年时教老师学计算机安德斯·海尔斯伯格(Anders Hejlsberg),1960 年出生于丹麦哥本哈根,Turbo Pascal 编译器的主要作者,Delphi、C# 和 TypeScript 之父,.NET 创立者,是一位伟大的计算机科学家。高中时 Anders 便就读于丹麦第一批提供计算机的中学。第一次接...

  • C#中的泛型,与java。C++中泛型的区别

    Anders Hejlsberg谈C#、Java和C++中的泛型 收藏原著 :Bill Venners、Bruce Eckel 2004.2.26原文 :http://www.artima.com/intv/generics.html翻译 :lover_P [人物介绍] Anders Hejlsberg , 微软著名工程师,带领他的小组设计了C#(读作:C-Sharp)程序设计语言。Hejlsberg第一次登上软件界历史舞台是在80年代早期,因为他为 M

  • C#首席设计师Anders Hejlsberg专访

     C#首席设计师Anders Hejlsberg专访文章摘要:Anders Hejlsberg是微软.Net框架设计师、C#程序语言首席设计师。他所开发的Turbo Pascal和Delphi获得了极大的成功。他最新的C#[发音为"See sharp"]又为何物呢?假定.NET平台上支持多语言,那为什么选择C#而不是Visual Basic、C++甚至CO

  • 编程语言大趋势

    JDK1.6.0+Tomcat6.0的安装配置 JDK1.6.0+Tomcat6.0是经典的编程搭配,那么本文就将向你介绍JDK1.6.0+Tomcat6.0的安装配置,图文并茂希望可以帮助初学者搭建平台。 JDK1.6.0+Tomcat6.0的安装配置是如何进行的呢?我们按照下面几个步骤来:1.安装JDK 这是进行JSP开发的重要一步,也是安装JSP引擎(Tomcat、Resin、Weblogic等)的前提,一般的JSP引擎是由Java语言编写的。本人使用的JDK版本是1.6.0,平台是Windows

  • 神父说,要有光,要有码农,于是十大天神创造了宏大的编程界!

    父神说,要有光,要有码农 于是十大天神创造了宏大的编程界,从而,很多码农可以在其中快乐或者痛苦地工作,通过自己的努力让世界变得更美好。今天给大家简单介绍下这十大位天神。 1.天神一号C#语言之父 「安德斯·海尔斯伯格(Anders Hejlsberg)」 丹麦人,Borland Turbo Pascal 编译器的主要作者。 进入微软公司后,先后主持了 Visual J++、.Net 和 C#。 安德斯·海尔斯伯格出生于哥本哈根,安德斯·海尔斯伯格曾在丹麦技术大学学习工程,但没有毕业,大..

  • 安德斯(Anders Hejlsberg)一个养活了4代程序员的男人——4门语言创造者

    安德斯(Anders Hejlsberg)一个养活了4代程序员的男人,4门语言

  • Borland 人物杂谈(转)

    Niklaus Wirth Niklaus Wirth与Borland并无直接关系,但是,是他发明了Pascal语言。Phillipe Kahn也曾是他的学生。Delphi语言的演变过程是:Pascal,Object Pascal,Delphi。Niklaus Wirth在1984年获得计算机科学领域最高奖图灵奖。详见: PASCAL之父图灵奖获得者 Niklaus Wi...

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

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

  • 基于springboot大学生就业信息管理系统源码数据库文档.zip

    基于springboot大学生就业信息管理系统源码数据库文档.zip

  • 基于java的驾校收支管理可视化平台的开题报告.docx

    基于java的驾校收支管理可视化平台的开题报告

  • 原木5秒数据20241120.7z

    时间序列 原木 间隔5秒钟 20241120

Global site tag (gtag.js) - Google Analytics