我们平时都在谈论 c、c ++、Java、Python 等编程语言,其实还有些语言不仅对于大多数软件开发人员来说都很难,而且几乎是不可理解的。
这些语言被称为深奥难懂的编程语言(或晦涩语言)。
晦涩语言并不是为普通的软件开发而设计的。它们的设计目的是作为概念证明,或只是开个玩笑。
这里列出五种最难懂的晦涩语言的清单。我尝试用每种语言执行了“Hello World!”程序,非常有趣。
本文最初发布于 Medium(《5 Most Difficult Programming Languages in the World》),经 InfoQ 翻译并分享。
Malbolge 由 Ben Olmstead 于 1998 年发明。这种晦涩语言被认为是最复杂的编程语言。
据说 Malbolge 编程语言的作者从未使用该语言编写任何程序。Olmstead 发明该语言近两年后,Malbolge 中的 hello world 代码才出现。
这是在 Malbolge 中打印“Hello World!”的代码段。
这是输出:
由作者提供—代码在 tio.run 执行
Jim Lyon 和 Don Woods 于 1972 年开发了 INTERCAL,它是一种诙谐有趣的编程语言。
它刚开始的名称是“没有可发音首字母缩略词的编程语言”。
INTERCAL 设计了许多让程序员感到沮丧的特性。
例如:它使用修饰符“PLEASE”。如果代码中不经常使用“PLEASE”,则编译器可以拒绝该代码。它将程序视为“不够礼貌”。如果修饰符“PLEASE”被使用了太多次,则编译器也将拒绝该代码,认为其“过于礼貌”。
这是在 INTERCAL 中打印“Hello,World!”的代码段。
这是输出:
由作者提供—代码在 tio.run 执行
Brainfuck 由 Urban Muller 于 1993 年开发。该语言是为了让程序员消遣娱乐而发明的。
该名称本身暗示着该编程语言对于任何程序员而言都非常难以理解。
整个编程语言仅有八个不同的字符,该语言用这八个字符编写所有代码。Muller 开发的原始编译器仅使用 296 个字节。
这是在 brainfuck 中打印“Hello,World!”的代码段。
这是输出:
由作者提供—代码在 tio.run 执行
COW 由 Sean Heber 于 2003 年开发。看到其 hello world 代码后,您将了解为什么这种语言叫做“ COW”。
在难度级别上,COW 与 Brainfuck 相当。与 Brainfuck 相比,它还多了四个命令,即整个语言中有 12 个命令。
这是在 COW 中打印“Hello,World!”的代码段。
这是输出:
由作者提供—代码在 tio.run 执行
Whitespace 由 Chris Morris 和 Edwin Brady 在杜伦大学开发。该语言发布于 2003 年愚人节。
使用该语言编写任何程序都依赖于空格、制表符和换行符。Whitespace 的解释器将忽略非空格字符,并将其视为代码注释。
这是在 Whitespace 中打印“Hello,World!”的代码段。
在下面的代码中,每个空格、制表符或换行符前面都带有注释“S”、“T”或“L”。
这是输出:
由作者提供—代码在 tio.run 执行
还有很多类似的晦涩语言,你可以访问本文的参考部来探索一番。
可以使用这个网站,该网站提供几乎所有语言的编译器和解释器。复制参考页中的代码,并在该站点中快乐的使用它们。
参考资料:
Esolang wiki: https://esolangs.org/wiki
Malbolge: https://esolangs.org/wiki/malbolge
INTERCAL: https://en.wikipedia.org/wiki/INTERCAL
Brainfuck: https://en.wikipedia.org/wiki/Brainfuck
COW: https://esolangs.org/wiki/COW
Whitespace: https://esolanga.org/wiki/whitespace
英文原文链接:
https://levelup.gitconnected.com/5-most-difficult-programming-languages-in-the-world-549c3cf91b23
领取专属 10元无门槛券
私享最新 技术干货