阅读更多

2顶
0踩

编程语言

原创新闻 卑鄙C程序大赛

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

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

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

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

  • 语言大师 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,...

  • 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#该怎么办,这次演讲主要就是讨论这些影响我们的东西。

  • 为什么使用C#开发软件的公司和程序员都很少?

      手记 /后端开发 为什么使用C#开发软件的公司和程序员都很少? 2018.05.31 10:15 1094浏览 字号 在职位搜索网站indeed,职位关键字与数量的对应关系如下(搜索时实时数据):   Java - 49624 Python - 16802 JavaScript - 25452 C ++ - 36569 C# - 14267   很显然,C#相关的职...

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

    7月,O’Reilly 编辑John Osborn参加了微软职业开发者会议。在此,他对著名的工程师、微软.Net框架设计师、C#程序语言首席设计师Anders Hejlsberg进行了采访。Anders Hejlsberg因设计PC上最早的语言之一—Turbo Pascal而出名。他把Turbo Pascal授权给Borland公司,后又率队开发了Delphi—一个极为成功的可视化的客户/服务应用

  • 软件界的传奇—Anders Hejlsberg

    推荐看一下《Borland 传奇》,以下是转载正文: Anders虽然没有显赫的学历,无法获得TurningAwards。但Anders的实力和贡献绝不输于任何一位TurningAwards获得者。       对于成千上万的使用Borland TurboPascal和Delphi进行编程的软件开发者来说,AndersHejlsberg,这位丹麦的软件大师让他们肃然起敬,是他创制了上述

  • Delphi/C#之父:Anders Hejlsberg

     Anders Hejlsberg曾在丹麦科技大学学习工程学,他编写的Pascal编译器的核心,1981年将Pascal编译器卖给了Borland,并加入Borland公司,那时的Borland公司还是一个名不见经传的小公司。Anders Hejlsberg在Borland主持开发了Turbo Pascal,Turbo Pascal获得一直好评,Anders Hejlsberg并未止步不前,他将T...

  • Anders Hejlsberg 在微软Visual studio.NET 发布大会上的讲话

    (转自http://www.microsoft.com/china/) 圣弗兰西斯卡 Anders Hejlsberg 2002年2月13日,星期二 主持: 女士们,先生们,请欢迎最卓越的工程师:Anders Hejlsberg (掌声) Anders Hejlsberg: 谢谢。在开始今天的题目之前,我想先带大家回顾一下历史,从早期的计算到现在我们到了何种状态。我相信如...

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

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

  • 高校学生选课系统项目源码资源

    项目名称: 高校学生选课系统 内容概要: 高校学生选课系统是为了方便高校学生进行选课管理而设计的系统。该系统提供了学生选课、查看课程信息、管理个人课程表等功能,同时也为教师提供了课程发布和管理功能,以及管理员对整个选课系统的管理功能。 适用人群: 学生: 高校本科生和研究生,用于选课、查看课程信息、管理个人课程表等。 教师: 高校教师,用于发布课程、管理课程信息和学生选课情况等。 管理员: 系统管理员,用于管理整个选课系统,包括用户管理、课程管理、权限管理等。 使用场景及目标: 学生选课场景: 学生登录系统后可以浏览课程列表,根据自己的专业和兴趣选择适合自己的课程,并进行选课操作。系统会实时更新学生的选课信息,并生成个人课程表。 教师发布课程场景: 教师登录系统后可以发布新的课程信息,包括课程名称、课程描述、上课时间、上课地点等。发布后的课程将出现在课程列表中供学生选择。 管理员管理场景: 管理员可以管理系统的用户信息,包括学生、教师和管理员账号的添加、删除和修改;管理课程信息,包括课程的添加、删除和修改;管理系统的权限控制,包括用户权限的分配和管理。 目标: 为高校学生提

  • TC-125 230V 50HZ 圆锯

    TC-125 230V 50HZ 圆锯

  • 影音娱乐北雨影音系统 v1.0.1-bymov101.rar

    北雨影音系统 v1.0.1_bymov101.rar 是一个计算机专业的 JSP 源码资料包,它为用户提供了一个强大而灵活的在线影音娱乐平台。该系统集成了多种功能,包括视频上传、播放、分享和评论等,旨在为用户提供一个全面而便捷的在线视频观看体验。首先,北雨影音系统具有强大的视频上传功能。用户可以轻松地将本地的视频文件上传到系统中,并与其他人分享。系统支持多种视频格式,包括常见的 MP4、AVI、FLV 等,确保用户能够方便地上传和观看各种类型的视频。其次,该系统提供了丰富的视频播放功能。用户可以选择不同的视频进行观看,并且可以调整视频的清晰度、音量等参数,以适应不同的观看需求。系统还支持自动播放下一个视频的功能,让用户可以连续观看多个视频,无需手动切换。此外,北雨影音系统还提供了一个社交互动的平台。用户可以在视频下方发表评论,与其他观众进行交流和讨论。这为用户之间的互动提供了便利,增加了观看视频的乐趣和参与感。最后,该系统还具备良好的用户体验和界面设计。界面简洁明了,操作直观易用,让用户可以快速上手并使用各项功能。同时,系统还提供了个性化的推荐功能,根据用户的观看历史和兴趣,为用户推荐

  • Tripp Trapp 儿童椅用户指南 STOKKE

    Tripp Trapp 儿童椅用户指南

Global site tag (gtag.js) - Google Analytics