阅读更多

2顶
0踩

编程语言

原创新闻 卑鄙C程序大赛

2015-06-08 15:04 by 副主编 mengyidan1988 评论(0) 有7415人浏览
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等话题,分享了他对许多与软件开发相关的事情的看法。

  • 小米15工程固件 可以用于修改参数 修复tee损坏 修复底层分区 会用的下载

    资源描述: 机型代码:dada 1-----工程固件可以用于修改参数 开启diag端口。可以用于修复tee损坏以及修复底层分区。 2-----此固件是完整官方。不是第三方打包。请知悉 3-----此固件可以解锁bl后fast模式刷写。也可以底层深刷。也可以编程器写入 4-----请会用此固件 了解工程固件常识以及会用的朋友下载。 5-----个别高版本深刷需要授权才可以刷入。需要自己会刷写。 6------资源有可复制性。下载后不支持退。请考虑清楚在下载哦 工程资源常识可以参考博文:https://blog.csdn.net/u011283906/article/details/141815378 了解基本

  • 牙买加太阳能电池板检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar

    牙买加太阳能电池板检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar牙买加太阳能电池板检测-V11 2023-02-09 7:47 PM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包含1406张图像。 太阳能板以可可格式注释。 将以下预处理应用于每个图像: *调整大小为640x640(拉伸) 没有应用图像增强技术。

  • JSP设计班级学生管理系统论文(2024ic).7z

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;

Global site tag (gtag.js) - Google Analytics