1024!

百家 作者:差评 2018-10-24 23:31:53


手持两把锟斤拷

口中疾呼烫烫烫



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


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


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


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


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


这是一门叫 ArnoldC 的编程语言


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


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


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


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


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


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


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


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


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


print("Hello World")


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


运行一下~


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


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


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


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


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


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


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


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


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


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


成功输出了 Hello World !


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


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

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


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


其实输出结果是一样的:


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


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


例如 Cow 语言


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


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


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


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


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


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


INTERCAL 写的 Hello World 程序


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


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


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


是不是超级难,看不懂?


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


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


这是用 Whitespace 代码写的 Hello World


谁特么看得出写了啥啊?


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


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


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


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


皮卡丘专用语言


这个语言就叫 fuck ↓


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


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


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


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


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


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


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


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


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


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


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


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


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


Juliet:

    Am I better than you?

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


Hamlet:

    If so, let us proceed to scene III.

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


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


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


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


Put the whole of your heart into my hands.

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


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


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


以下是它的代码示范:


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


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


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


讲到这里,你想到了啥?


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


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


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


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


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


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



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

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接
百度热搜榜
排名 热点 搜索指数