世界上最困难的五种编程语言





我们所有人都只是在谈论C,C +,Java,Python等,但与此同时,自然界中有一些语言不仅可以被称为复杂的语言,而且对于大多数程序员而言都是无法访问的。它们被称为深奥的编程语言(或esolang的缩写ezolangi)。



神秘的语言无法执行普通的编程任务。创建它们的目的是为了进行概念验证或仅出于娱乐目的。

以下是五种最艰巨的编程语言的清单(译者注:如果您还有更多有价值的竞争者未被作者提及,我们将很高兴在评论中听到它们)。我试图写一个“ Hello World!” 在每个人上-这很有趣。



马尔博格



该语言由Ben Olmsted于1998年创造。它被认为是最困难的。他们说,作者本人并没有为自己的想法编写任何程序。显示单词Hello World!的代码出现在Olmsted完成该语言两年后。



这是显示Hello World的代码片段!在Malbolge上:



(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc


这就是它给出的:





此代码段和以下所有代码段均由作者编写,并在tio.run中启动



INTERCAL



Jim Lyon和John Woods在1972年开发了INTERCAL,以模仿各种编程语言。它最初被称为“一种没有明显收缩的编译语言”。



INTERCAL具有专门实现的功能,这些功能设计使程序员难以承受。例如,它使用PLEASE修饰符等。如果PLEASE发生在没有适当规律性的情况下,编译器可以拒绝代码。说明?“不够客气。” 如果PLEASE修饰符在代码中出现得太频繁,则编译器将代码拒绝为“过于礼貌”。



这是显示Hello World的代码片段!在INTERCAL上:



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 READ OUT ,1
PLEASE GIVE UP


这就是它给出的:





脑干



Brainfuck于1993年由UrbanMüller出生,当时他打算让其他程序员玩得开心。从名称中可以明显看出,该语言旨在使与之合作的人尽可能地难以理解正在发生的事情。



整个语言由八个单独的字符组成,用于执行任何操作。Mueller自己开发的第一个编译器只有296个字节长。



这是显示Hello World的代码片段!在Brainfuck上:



++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.


这是它给出的:







COW由Sean Geber于2003年创建。当您看到代码时,该语言名称的含义将变得清楚。就难度而言,COW可与Brainfuck相提并论。从数量上讲,COW中还有四个命令-整个语言共有十二个命令。



这是显示Hello World的代码片段!在COW上:



MoO MoO MoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO moO MoO MoO MoO MoO mOo mOo mOo mOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO moO MOo moo mOo MOo MOo MOo Moo MoO MoO 
 MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo MMM mOo mOo mOo MoO MoO MoO MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moo moO moO MoO 
 MoO MoO MoO MoO MoO MoO MoO Moo MMM MMM Moo MoO MoO MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo mOo MoO Moo


这是它给出的:





空格



Whitespace在达勒姆大学出版,作者是克里斯·莫里斯(Chris Morris)和埃德温·布雷迪(Edwin Brady)。它于2003年4月1日向公众展示。



基本思想是将空格,制表符和换行符用该语言组合在一起以编写程序。解释器将忽略所有其他字符,将其视为对代码的注释。



这是显示Hello World的代码片段!在空白上。在下面的摘录中,每个空格,制表符和换行符分别以S,T和L开头:



S S S T	S S T	S S S L
T	L
S S S S S T	T	S S T	S T	L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	S T	T	S S L
T	L
S S S S S T	S S S S S L
T	L
S S S S S T	T	T	S T	T	T	L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	T	T	S S T	S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S S T	S S L
T	L
S S S S S T	S S S S T	L
T	L
S S L
L
L


这是它给出的:





还有许多其他与此相似的深奥语言。您可以点击链接查看它们。在此站点上,您可以找到几乎所有语言的编译器和解释器。复制任何Wikipedia页面上的代码,并随心所欲地使用它。



All Articles