阅读更多

2顶
0踩

编程语言

原创新闻 卑鄙C程序大赛

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

发表评论

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

相关推荐

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

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

  • 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公司...

  • 欧洲编程语言四巨头

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

  • 语言大师 Anders Hejlsberg

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

  • 编程界的十大天神,都来拜一拜吧

    父神说,要有光,要有码农。于是十大天神创造了宏大的编程界,从而,很多码农可以在其中快乐或者痛苦地工作,通过自己的努力让世界变得更美好。今天给大家简单介绍下这十大位天神。1.天神一号 C...

  • Anders Hejlsberg

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

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

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

  • Anders Hejlsberg亲自操刀向Go语言移植!TypeScript编译器性能狂飙10倍!

    请点击上方蓝字TonyBai订阅公众号!TypeScript、C#语言、Delphi语言之父Anders Hejlsberg[1]今日在Microsoft开发者博客宣布重大消息,TypeScript编译器以及工具链将移植到Go语言[2],性能提升高达10倍!这究竟是怎么回事?为什么要用Go?对开发者有什么影响?本文将为你深度解读。TypeScript迎来史诗级更新,性能提升10倍!就在今天,Typ...

  • 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

  • 【历史】- .NET之父 - Anders Hejlsberg

    简介 安德斯·海尔斯伯格(Anders Hejlsberg,1960.12~),丹麦人,Turbo Pascal编译器的主要作者,Delphi和.NET之父! 安德斯·海尔斯伯格曾在丹麦技术大学学习工程,但没有毕业,大学时期他曾替 Nascom microcomputer撰写程式,他曾为Nascom-2电脑撰写蓝标签(Blue Label) Pascal compil...

  • 编程语言大趋势

    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...

  • uniapp实战商城类app和小程序源码​​​​​​.rar

    uniapp实战商城类app和小程序源码,包含后端API源码和交互完整源码。

  • PHP进阶系列之Swoole入门精讲(课程视频)

    本课程是 PHP 进阶系列之 Swoole 入门精讲,系统讲解 Swoole 在 PHP 高性能开发中的应用,涵盖 协程、异步编程、WebSocket、TCP/UDP 通信、任务投递、定时器等核心功能。通过理论解析和实战案例相结合,帮助开发者掌握 Swoole 的基本使用方法及其在高并发场景下的应用。 适用人群: 适合 有一定 PHP 基础的开发者、希望提升后端性能优化能力的工程师,以及 对高并发、异步编程感兴趣的学习者。 能学到什么: 掌握 Swoole 基础——理解 Swoole 的核心概念,如协程、异步编程、事件驱动等。 高并发处理——学习如何使用 Swoole 构建高并发的 Web 服务器、TCP/UDP 服务器。 实战项目经验——通过案例实践,掌握 Swoole 在 WebSocket、消息队列、微服务等场景的应用。 阅读建议: 建议先掌握 PHP 基础,了解 HTTP 服务器和并发处理相关概念。学习过程中,结合 官方文档和实际项目 进行实践,加深理解,逐步提升 Swoole 开发能力。

  • matlab齿轮-轴-轴承系统含间隙非线性动力学 基于matlab的齿轮-轴-轴承系统的含间隙非线性动力学模型,根据牛顿第二定律,建立齿轮系统啮合的非线性动力学方程,同时也主要应用修正Capone模

    matlab齿轮-轴-轴承系统含间隙非线性动力学 基于matlab的齿轮-轴-轴承系统的含间隙非线性动力学模型,根据牛顿第二定律,建立齿轮系统啮合的非线性动力学方程,同时也主要应用修正Capone模型的滑动轴承无量纲化雷诺方程,利用这些方程推到公式建模;用MATLAB求解画出位移-速度图像,从而得到系统在不同转速下的混沌特性,分析齿轮-滑动轴承系统的动态特性 程序已调通,可直接运行 ,关键词:Matlab;齿轮-轴-轴承系统;含间隙非线性动力学;牛顿第二定律;动力学方程;修正Capone模型;无量纲化雷诺方程;位移-速度图像;混沌特性;动态特性。,基于Matlab的齿轮-轴-轴承系统非线性动力学建模与混沌特性分析

Global site tag (gtag.js) - Google Analytics