找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 195249|回复: 0

鬼畜“HelloWorld”:你能想象出程序员无聊时都做了些什么吗? ...

[复制链接]

该用户从未签到

发表于 2020-11-22 02:29:43 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
全文共2447字,预计学习时长7分钟

                               
登录/注册后可看大图
图源:unsplash当大家都在谈论c、c++、Java、Python时,还有些大神级语言“深藏不漏”,地狱难度的它们对于大多数开发人员来说几乎是无法理解的。这些语言被称为深奥的编程语言(或esolang)。
设计esolang的目的不在于普通软件开发,而是一个概念验证,或者仅仅为了有趣。以下是五种最难的深奥编程语言,我试着用这些语言分别执行‘Hello World!’程序。
Malbolge
Malbolge是1998年由Ben Olmstead发明的,被认为是最复杂的编程语言。据说,Malbolge编程语言的作者从来没有用该语言写过任何程序。Olmstead发明该语言近两年后Malbolge才有的hello world代码。
以下是在Malbolge中打印‘Hello World!’的代码片段。
(=<`#9,~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z,Kw%oG4UUS0/@-ejc(:'8dc
输出如下:

                               
登录/注册后可看大图
使用 tio.run 执行的代码Brainfuck
1993年,Urban Muller开发了Brainfuck,用于程序员娱乐玩耍。从名字本身就可看出,这门语言对所有程序员来说应该是极难理解的。整个语言只由8个不同的字符组成,用于实现所有代码。Muller开发的原始编译器只用了296个字节。
以下是在Brainfuck中打印‘Hello World!’的代码片段。
++++++++++>++.>+.+++++++ ..+++.>++.<<+++++++++++++++.&gtgt;+.
输出如下:

                               
登录/注册后可看大图

COW
COW是由Sean Heber在2003年开发的。当你看到代码时,就会明白为什么这门语言会被命名为“COW”。
COW在难度上与Brainfuck类似,但多了4个命令,也就是说,整个语言中有12个命令。以下是在COW中打印‘Hello, World!’的代码片段。
MoO MoOMoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoOMoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO
MoO MoO moO MoO MoO MoO MoO mOo mOo mOomOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO moO MOo moo mOo MOo MOo MOoMoo MoO MoO
MoO MoO MoO MoO MoO Moo Moo MoO MoO MoOMoo MMM mOo mOo mOo MoO MoO MoO MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moomoO moO MoO
MoO MoO MoO MoO MoO MoO MoO Moo MMM MMMMoo MoO MoO MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo mOoMoO Moo
输出如下:

                               
登录/注册后可看大图

INTERCAL
Jim Lyon和Don Woods在1972年开发了INTERCAL,它模仿了众多编程语言。最初它的名字是“无发音缩写的编译器语言”。
INTERCAL的许多功能设计让程序员感到沮丧。比如,它使用了“PLEASE”等修饰语。如果代码中不经常使用“PLEASE”,编译器会报错,认为该程序“不够礼貌”。但如果“PLEASE”使用次数过多,编译器也会报错,称其“过分礼貌”。
以下是在INTERCAL中打印“Hello, World!”的代码片段。
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READOUT ,1
PLEASE GIVE UP
输出如下:

                               
登录/注册后可看大图

Whitespace
Whitespace是由Chris Morris和Edwin Brady在杜伦大学开发的,于2003年愚人节发布。整个语言都依赖于space,tab和linefeed(空格、制表符和换行符)来编写程序。Whitespace 解释器忽略非Whitespace字符,并将其视为代码注释。
以下是打印‘Hello World!’的代码片段。在下面的代码中,每个空格、制表符或换行符前面分别有注释‘S’、‘T’或‘L’。
SS S T S S T SS S L
TL
SS S S S T T S S T S T L
TL
SS S S S T T S T T S S L
TL
TL
SS S S S T T S T T T T L
TL
SS S S S T S T T SS L
TL
SS S S S T S S S S S L
TL
SS S S S T T T ST T T L
TL
TL
SS S S S T T T SS T S L
TL
TL
SS S S S T T S S T S S L
TL
SS S S S T S S S S TL
TL
SS L
L
L
输出如下:

                               
登录/注册后可看大图

类似的深奥编程语言还有很多,真无法想象这些程序员无聊时都做了些什么打发时间。

留言点赞关注
我们一起分享AI学习与发展的干货
如转载,请后台留言,遵守转载规范
回复

使用道具 举报

网站地图|页面地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2025-3-17 21:02

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表