编程语言。称其为程序员最好的伙伴也不为过。
几十年来,从机器语言到汇编语言,再到如今各种高级编程语言的井喷。开发者总在致力于如何让程序员跟计算机更好的交流。
不过,也有例外。
比如接下来要盘点的这些编程语言。它们被开发出来的目的似乎就是让程序员无法编程。
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程序员节,也希望各位程序员小哥吃好喝好,头发要紧~