好好的编程语言,说疯就疯了……

57 篇文章 0 订阅
7 篇文章 0 订阅

编程语言。称其为程序员最好的伙伴也不为过。

几十年来,从机器语言到汇编语言,再到如今各种高级编程语言的井喷。开发者总在致力于如何让程序员跟计算机更好的交流。

不过,也有例外。

比如接下来要盘点的这些编程语言。它们被开发出来的目的似乎就是让程序员无法编程。

 

1、Piet

Piet非常深奥,可能都没有办法称它为一种语言。因为Piet是用颜色来编写代码。对,你没看错,就是颜色。

Piet由David Morgan-Mar设计,请记住这个名字,其方案是位图,看起来像抽象艺术设计。编译指导图像周围移动,从一个连续颜色的区域下的一个“指针”。通过一个地区的指针退出时的程序进行。

据说,这张“代码”,就是“Hello World!”。

 

2、Whitespace

Whitespace由Edwin Brady和Chris Morris发明。发布时间是2003年4月1日,愚人节。

在这种语言中,只有空白字符(即空格、制表符和换行符)才具有含义。所有的非空白字符都会被自动忽略。你甚至可以在这种程序代码中写一篇文章。

 

可能只有这种方式,才能让人看懂这个程序是怎么写的吧。

 

3、INTERCAL

INTERCAL是“Compiler Language With No Pronounceable Acronym”的缩写,它讽刺了当时各种编程语言的很多方面,以及在20世纪60年代拟定的语言结构和注译,它由唐·伍兹和詹姆斯·M.里昂两个普林斯顿大学的学生,在1972年创建的。

这里送上INTERCAL的“Hello World!”程序代码。

 

4、Brainfuck

Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。Müller的目标是建立一种简单的、可以用最小的编译器来实现的、符合图灵完全思想的编程语言。

这种语言由八种状态构成,为Amiga机器编写的编译器(第二版)只有240个字节大小!

 

跟前面的Whitespace一样,除了这八种符号,任何其他内容都会被忽略。

 

5、Malbolge

Malbolge是最难的编程语言之一。事实上,在它诞生后,第一个Malbolge程序花了2年时间才完成,而且,完成这项壮举的还不是人类,是一台计算机。

据说就连Malbolge编程语言的作者从来没有写过一个Malbolge程序。作者的本意就是要做一个不会被完成编程的编程语言。emmm...这些人的脑子里装的都是啥?

 

 

6、LOLCODE

首先,LOLCODE跟英雄联盟没有任何关系。LOL是“laugh out loud”的缩写,流行于国外各种论坛。

而这种语言正是建立在高度缩写后的网络英语之上。换句话说,一个常年混迹各大论坛精通各种网络英语的人,能够不经训练直接读懂LOLCODE的代码。

 

 

按照惯例,这就是LOLCODE的“Hello World!”。这段代码翻译成中文是这样的:

嗨!

用下STDIO?

现身吧!“HAI WORLD!”!

好谢了拜!

 

7、Befunge

Befunge这种语言由Chris Pressey在1993年创造,本意为设计一种尽量难编译的语言。Befunge的指令可以在游戏区中写入新的指令,除此之外,相同的指令可以在四种不同的上下文中执行(从左到右,从右到左,向上或向下)。

可惜事与愿违。这种语言诞生之后,马上就出现了一大批的编译器……

 

 

8、Chef

这种语言可以让你在编程过程中享受到一种主厨的乐趣。它看起来就像是一段菜谱,包括有:菜名,也就是程序名;原材料清单,声明变量;做菜步骤,程序操作。

创造了这种语言的人,叫做David Morgan-Mar。是的,就是文章开篇的Piet的作者。这位神仙创造了至少8种“奇葩”的编程语言,还好他的这些语言没有像如今的JAVA、C、Python一样流行。

 

 

也许这些所谓“反人类”的编程语言,正是程序员才会理解的幽默吧~

你还知道哪些“反人类”的编程语言呢?不妨在评论区留言,让大家一起开心一下吧~

正值10.24程序员节,也希望各位程序员小哥吃好喝好,头发要紧~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值