11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

世界上最难的 5 种编程语言

  • 2020-11-28
  • 本文字数:1355 字

    阅读完需:约 4 分钟

世界上最难的5种编程语言

我们平时都在谈论 c、c ++、Java、Python 等编程语言,其实还有些语言不仅对于大多数软件开发人员来说都很难,而且几乎是不可理解的。


这些语言被称为深奥难懂的编程语言(或晦涩语言)。


晦涩语言并不是为普通的软件开发而设计的。它们的设计目的是作为概念证明,或只是开个玩笑。


这里列出五种最难懂的晦涩语言的清单。我尝试用每种语言执行了“Hello World!”程序,非常有趣。


本文最初发布于 Medium(《5 Most Difficult Programming Languages in the World》),经 InfoQ 翻译并分享。

Malbolge


Malbolge 由 Ben Olmstead 于 1998 年发明。这种晦涩语言被认为是最复杂的编程语言。


据说 Malbolge 编程语言的作者从未使用该语言编写任何程序。Olmstead 发明该语言近两年后,Malbolge 中的 hello world 代码才出现。


这是在 Malbolge 中打印“Hello World!”的代码段。



这是输出:


由作者提供—代码在 tio.run 执行

INTERCAL


Jim Lyon Don Woods 于 1972 年开发了 INTERCAL,它是一种诙谐有趣的编程语言。


它刚开始的名称是“没有可发音首字母缩略词的编程语言”。


INTERCAL 设计了许多让程序员感到沮丧的特性。


例如:它使用修饰符“PLEASE”。如果代码中不经常使用“PLEASE”,则编译器可以拒绝该代码。它将程序视为“不够礼貌”。如果修饰符“PLEASE”被使用了太多次,则编译器也将拒绝该代码,认为其“过于礼貌”。


这是在 INTERCAL 中打印“Hello,World!”的代码段。


这是输出:


由作者提供—代码在 tio.run 执行

Brainfuck


Brainfuck 由 Urban Muller 于 1993 年开发。该语言是为了让程序员消遣娱乐而发明的。


该名称本身暗示着该编程语言对于任何程序员而言都非常难以理解。


整个编程语言仅有八个不同的字符,该语言用这八个字符编写所有代码。Muller 开发的原始编译器仅使用 296 个字节。


这是在 brainfuck 中打印“Hello,World!”的代码段。



这是输出:


由作者提供—代码在 tio.run 执行

COW


COW 由 Sean Heber 于 2003 年开发。看到其 hello world 代码后,您将了解为什么这种语言叫做“ COW”。


在难度级别上,COW 与 Brainfuck 相当。与 Brainfuck 相比,它还多了四个命令,即整个语言中有 12 个命令。


这是在 COW 中打印“Hello,World!”的代码段。


这是输出:

由作者提供—代码在 tio.run 执行

Whitespace


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


2020-11-28 14:002064
用户头像
蔡芳芳 InfoQ主编

发布了 710 篇内容, 共 392.3 次阅读, 收获喜欢 2551 次。

关注

评论

发布
暂无评论
发现更多内容

前端性能优化之指标

知识乞丐

大前端 28天写作

如果梦境取决于一串代码「幻想短篇 2/28」

道伟

28天写作

中华石衫 Elasticsearch 顶尖高手系列课程

escray

elasticsearch elastic 28天写作 死磕Elasticsearch

程序员练习算法的几个实用技巧

Phoenix

算法

4.5万字手把手教你实现MySQL TB级数据存储!!

冰河

MySQL 分布式 微服务 数据存储 mycat

技术人小故事-团队愿景篇-第2段

Ian哥

28天写作

28 天带你玩转 Kubernetes-- 第二天(K8s介绍)

Java全栈封神

Kubernetes k8s k8s入门 28天写作 k8s历史

28天瞎写的第二百一三天:背代码的故事

树上

代码 28天写作

架构师训练营第 12 周学习总结

菜青虫

大数据知识专栏1-Hadoop环境安装

小马哥

大数据 hadoop 28天写作

生产环境全链路压测建设历程 25:FAQ 7、8 正常业务保护和外调接口的处理

数列科技杨德华

28天写作

反对没有节制的加班文化

熊斌

管理 职场 工作思路 28天写作

week7-homework

J

架构师培训第二周课后作业

跳蚤

SpringBoot 系列 2——SpringBoot原理分析

程序员的时光

程序员 springboot 七日更 28天写作

演讲还是辩论

将军-技术演讲力教练

28天写作

MySQL在按照某个字段分组、排序加序号

AI乔治

Java MySQL 架构

车轱辘话来回说怎么治

Justin

团队协作 沟通 28天写作

week7-总结

J

架构师训练营第 12 周课后练习

菜青虫

IDEA@Data注释使用

AI乔治

Java 架构 注解

28 天带你玩转 Kubernetes-- 第二天(K8s 介绍)

Java全栈封神

Kubernetes k8s k8s入门 28天写作 k8s历史

架构师训练营第 1 期 - 大作业 2

Anyou Liu

架构师训练营第 1 期

大作业2

蓝黑

面试官:换人!赶快换人!连 CopyOnWriteArrayList 都没听过!

xcbeyond

Java 28天写作 CopyOnWriteArrayList

微信视频号的不同 | 视频号28天(03)

赵新龙

28天写作

汽油车最简知识——28天写作Day2/28

mtfelix

28天写作 电动汽车

【薪火计划】09 - 员工激励理论

dstweihao

管理 28天写作

聊聊并发,进程通信方式,go协程简单应用场景

AI乔治

Java 架构

新官上任,如何开始你的管理工作(上)

一笑

管理 28天写作

创业也是要帮助他人突破认知 Jan 10, 2021

王泰

28天写作

世界上最难的5种编程语言_语言 & 开发_Lokajit Tikayatray_InfoQ精选文章