1024!

文/差评 差评君

今天是个特殊的日子, 10 月 24 日。( 不是 25 日 ! )

差评君想了想,之前和大家分享过一些搞笑编程语言,趁着今天这个日子,再拿出来和各位程序员们一起乐一乐 ~

顺带一提,差评君今天又发现了更多的搞笑编程语言。

不少人对于程序员的印象可能是这样的↓

500

但差评君发现了一门编程语言它可以让写程序的人变成这样↓

500

这是一门叫 ArnoldC 的编程语言

500没错,ArnoldC 里的 Arnold 指的是阿诺德·施瓦辛格

为毛编程语言会和电影演员扯上关系,差评君给大家介绍一下这个玩意儿你们就知道为啥这么叫了。。。

“ ArnoldC : 一门受到阿诺德·施瓦辛格在终结者2电影中的表演而启发的编程语言 ”

500

差评君为了让不了解编程的差友们也能看懂,简单说两句啥是编程语言,有技术背景的可以考虑跳过。

编程说白了就是你写一段话(一段代码)去命令电脑做事儿。

概念上说来简单,但电脑不懂人话,只懂机器语言,而且机器语言我们人类用着不太趁手,它们大多长这个样儿↓

500

编程语言就是一套我们人类用起来舒服一点的命令。

一门语言还有一套对应的编译工具,类似于一位翻译官,把你说的命令转成机器语言给电脑运行

比如说你用 Python 告诉电脑输出一句话 “ Hello World ”,你可以这么写:

print("Hello World")

500其实很好理解,print 就是打印的意思,上面这句话就是让电脑把括号里的内容打印到显示屏上来。

运行一下~

500

ArnoldC 这个语言是基于 Java 开发的,里面的用词取自电影 《终结者2》 里阿诺德·施瓦辛格的台词,很是猎奇。。。

比如说上面那个打印命令,在 ArnoldC 里,要写成 TALK TO THE HAND

500

500这个短语 “ talk to the hand ”,大意是用一种鄙视的语气让对方说话,类似于中文的 “ 有屁快放 ” 。。。

类似的猎奇词句还有很多,而且全部都要大写,给人一种霸气外露的感觉。

每个程序最后还要致敬经典台词,来一句 YOU HAVE BEEN TERMINATED

500

差评君装了一下这个语言,按照开发者给的提示写了个简单程序

觉得自己敲的每一行字都自带冷酷的语气

500

然后编译的时候报了个错( 就是翻译官说我下的命令有问题 )

500重点是这个报错的语气挺有态度的。。。

500

差评君稍微改了改,再运行一下

成功输出了 Hello World !

500

500再举个例子大家感受一下,打个比方,你想写个程序把数字 1 到 10 打印一下

这是用 C 语言写的,看不懂没事儿~

500

( 其实这段话哪怕不会编程,只要懂英语,也不难理解,一个数一开始等于 1,当它小于等于 10 的时候就重复两件事:1. 打印自己 2. 给原来的值加 1 )

这是用 Arnold C 写的程序,大致直接翻译里面的短语

500

其实输出结果是一样的:

500

500但是差评君写完后面的程序,觉得自己酷到飞起~

500


500其实呢程序员比你们想象得要会玩儿,除了这个 ArnoldC,不正经编程语言多了去了

例如 Cow 语言

没错,这个 Cow 就是牛。。。

500

这个 cow 语言和上面提到的 ArnoldC 一样,是可以编译并且成功运行的!

500语法是根据牛的叫声 “ moo ” 进行一些变化,例如 “ Moo ” 和 “ mOo ” 代表的是不同意思,来实现不同的命令。。。

开发人员提供的开发文档,一本正经有没有!

500

下面这个程序的源代码可以印出一句 “ Hello World ”↓

500

再来看这门叫 INTERCAL 的汇编语言,它的特点是要求程序员非常有礼貌,你得加上一些 PLEASE ( 请 )。

INTERCAL 写的 Hello World 程序

500

500更猎奇的是,你要是 PLEASE 用得太多了,会显得过于刻意,编译的时候有一定几率不给你通过。。。

还有一些语言属于没事儿增加难度类型的搞笑。。。

比如下面要介绍的 Brainfuck 的语言,它写个 Hello World 的话,源代码长这样↓

500

是不是超级难,看不懂?

所以它叫 Brainfuck 嘛,就是你没事儿写它就好比在 gan 自己的大脑。。。

再看另一门语言, Whitespace (空格),它的特点是所有程序都是空白,编译器只把空格和换行符号视为有效的代码

这是用 Whitespace 代码写的 Hello World

500

500谁特么看得出写了啥啊?

其实要是把它选中高亮一下,还是有 “ 内容 ” 的

500

嗯。。。虽然这门语言看起来很难,但是写起来一定很爽,可以啪啪啪狂敲键盘!

以上编程语言都有人做了完整的编译器,真的可以拿来开发程序!

差评君再放一些奇葩语言写的 Hello World 程序感受一下

皮卡丘专用语言

500

这个语言就叫 fuck ↓

500

还有华盛顿大学的一名教授 Doug Zongker,搞了个 Chicken 的语言

鸡语言版 Hello World,也就 546 个 Chicken 吧。。。

500


500人家搞学术的就是认真,还发表了个论文

500

而且还特么被引用了 17 次 ?!!!

500

类似的这类编程语言叫做 esoteric programming language ,意思是 “ 深奥的编程语言 ” ,经常简写成 “ esolang ” 。

Esolang 的开发者们并不打算让它们成为主流编程语言,毕竟作为工具 esolang 也太蹩脚了。。。

Brainfuck 作者写的升级版,叫 “ ( ͡° ͜ʖ ͡°)fuck ”

500

这些语言虽然易用性差得一逼,但是一定是能用的,这才能保证它们还是 “ 编程语言 ” 。

500这些语言为啥要抛弃可用性,做那些可有可无的事情呢?

你想想,最早古代人画画是为了记录场景,可后来衍生出了印象派,野兽派等等完全和 “ 写实 ” 脱离的绘画流派。

Esolang 和那些后来的画派一样,在试图探索艺术的边界,只不过出发点是编程语言。

比如有一门语言 “ Shakespeare ” ,目的是使程序看起来像莎士比亚的戏剧。

一个简单的条件判断,都会写成一段台词 ( 注释为翻译 ):

Juliet:

    Am I better than you?

//茱丽叶:我比你更好吗?

Hamlet:

    If so, let us proceed to scene III.

//哈姆雷特:如果是真的,那就让我们来到第三场。

创作者在代码溜的飞起的同时,一定是个戏剧爱好者。

而一门叫 “ Rockstar ” ( 摇滚巨星 ) 的语言,则通过编程语言体现了 80 年代西方摇滚乐研究。

500一句简单的,把两个变量相乘的 Rockstar 代码:

Put the whole of your heart into my hands.

//把你的全部心意放在我的手掌上

上一句代码,简直是当年流行摇滚歌词的一个模版,体现了 80 年代流行摇滚的精髓。。。( 瞎说的 )

还有一门叫 Piet 的编程语言,则使用了深奥的视觉空间语法。

以下是它的代码示范:

500

//这有什么好写注释的啊喂!!!

程序是通过指针依次经过一个个色块,来执行一项项操作的。。。

这个画风了解过艺术史的差友们都知道,是荷兰画家蒙德里安的 “ 几何形体派 ” , 主张几何形体与简单色彩构成的形式美。

500讲到这里,你想到了啥?

没错,就是程序员们最爱的格子衬衫。

500

现在你懂了吧?喜欢世人嘲笑程序员不懂时尚,毕竟追求艺术的道路是孤独的。

关于 esolang 在艺术道路上的探索,例子有很多,差评君根本举不完;

500关于这些艺术的说法也有很多,差评君编不下去了。。。

不过 esolang 也是程序员造出来的,其实他们一点也不木讷,还充满了艺术追求。

致敬这些伟大,有趣,同时又想改变世界的工程师, 1024 快乐~!

“ 什么论坛?啥???没听过,没见过,别乱讲! ”

500

最近更新的专栏

全部专栏