当世界正朝着编程语言更易于使用和学习的方向发展时,有一群富有创造力的、喜欢摆弄抽象概念的人创造了一些奇怪的编程语言。它们显然违背了一般原则,只是为了好玩。

>>>>

这些编程语言让我知道,不是世界上的每一件事都必须有用,也不是我们个人做的每一件事都应该有用,希望你觉得这是篇有趣的文章。

以下是这 6 种有史以来最怪异、最不切实际的语言。

1.///

这是谷歌上最难搜索的语言之一,绝对是我的最爱。/// 是一种极简主义语言,它只包含一个操作——/source/replacement/形式的字符串替换。这种语言非常有限,但是一些聪明的程序员能够将字符串替换操作转换为完全可以工作的程序,循环并输出数据。这是一个简单的“Hello, world!”程序:

/ world! world!/Hello,/ world! world! world!

甚至还有一个用 /// 编写的复杂程序。以下是斐波那契序列的实现代码:

/!/\/.\\0\/,\\,0,\\,1\/\/.\\1\/,\\,0\/\/,\\,\/.\/\/+\\+\/=\\=.\\1-\/\/=\\=\/+\\+\//!!!!!!!!!/.///+\+///-/\\\///0/1//1/*/++.1

2.Glass

Glass 是由 Gregor Richards 开发的一种深奥的编程语言。它将非常不直观的后缀表示法与重量级的面向对象结合在一起,需要对主堆栈及面向对象结构做大量的处理。其他语言没有这样实现的,这使得它非常独特。

下面是“99 瓶啤酒”程序的示例代码:

{B[b<99>^]}{P[(c__)oO!aA!][poo.?][b(_m)1=,(_x)<0>(_m)*ae.
?=(_y)<1>=/(_x)"No more"oo.?(_x)0=(_y)0=\/(_y)(_m)*o(on).
?(_y)0=\" bottle"oo.?(_x)<1>(_m)*ae.?=/(_x)^(_x)0=\"s"oo.
?]}{C[(c__)oO!aA!sS!pP!][gn*][xn1=,][dnn*<1>as.?=][vn*pb.
?" of beer on the wall,\n"pp.?n*pb.?qe" of beer,\n"pp.?
"Take one down, pass it around\n"pp.?ln*<1>as.?=l*pb.?wu
" of beer on the wall.\n\n"pp.?]}{M[moO!cC!bB!bb.?cx.?fc
g.?=/fcv.?cd.?fcg.?=\]}

3.Chicken

Chicken 不仅是语言的名称,还是语言中唯一允许的关键字!重复次数和行数决定了所要执行的操作码。下面是一个示例程序。你能猜到它的作用吗?

虽然代码很多,但它只是打印“Chicken Power!”感兴趣的话,可以在通过该链接试一下:

http://web.archive.org/web/20180420010853/http://torso.me/chicken

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken

4.Befunge

有趣的事实:Befunge 被认为是第一种基于 ASCII 的二维通用编程语言。

它是一种二维编程语言。代码放在固定大小的代码区里,代码区中的每个单元格都可以保存代码或数据,程序可以用代码或数据替换其中的任何一个单元格。

解释器从左上角单元格开始,不断向右执行。你可以用特定的方向指令来控制解释器的方向。例如,下面是一个无限循环:

>v
^<

下面是一个“Hello, world!”:

0"!dlroW ,olleH">:#,_@

阶乘也很简单:

&>:1-:v v *_$.@ ^ _$>\:^

5.Piet

Piet 是一种编程语言,使用这种语言编写的程序看起来像是抽象画的位图。这种语言是以彼埃·蒙德里安(Piet Mondrian)的名字命名的。Piet 程序的基本构建块是色块,它支持 20 种不同的颜色,有一些实现还支持更多的颜色。编译是由一个“指针”引导的,它在图像周围移动,从一个连续的彩色区域移动到下一个彩色区域。这里提供了多个实例。

使用 Piet 编写的“Hello world!”程序

6.Shakespeare Programming Language(SPL)

程序开头的角色列表声明了多个堆栈,它们的名字很自然,比如“Romeo”和“Juliet”。这些角色开始相互对话,操纵彼此最上面的值,相互压入和弹出,进行 I/O 操作。角色之间也可以相互提问,以条件语句的形式。总的来说,该编程模型与汇编语言非常相似,但要冗长得多。

下面是一个迷你示例,大致上展示了简化版的 Hello World。

The Useless Example Program.
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]Hamlet:You lying stupid fatherless smelly coward!You are as stupid as the difference between a rich bravehero and thyself! Speak your mind!
[Exit Romeo] Scene II: The praising of Juliet.
[Enter Juliet]
Hamlet:Thou art as sweet as the sum of the sum of Romeoand his horse and his black cat! Speak thy mind! Listen to your heart!
Juliet:Am I better than the product of a miserable liar and a beautiful flower?
Hamlet:If so, let us return to szene I.
[Exeunt]

延伸阅读:

https://levelup.gitconnected.com/6-weirdest-programming-languages-in-the-world-70aae95b709

—THE END—

作者 | Manish Jain

译者 | 平川

文章推荐

☞这位85后清华博士,拟任县委书记!

☞哈佛教授对博士生的8个忠告:步入社会前,最重要是“娶一个好女孩”

☞被认为是世界史上50个最伟大的发明有哪些?

☞公式之美:打通复杂思维的任督二脉

☞年少恶习累累,成年用语言骗全世界, 用心理学撩妹, 最后被总理接见

☞100 个最伟大的数学定理,你知多少?

盘点世界上最奇怪的6种编程语言相关推荐

  1. 盘点世界上最难的 5 种编程语言!网友看后惊讶道:竟不是C/C++?

    每个程序员都熟悉许多编程语言.许多编程语言都是高级的,它们的语法是人类可读的.然而,也有一些低级语言,对于一个人来说,读起来很困难,但是可以理解.然而,您是否遇到过一种既不可读又不可理解的编程语言? ...

  2. 盘点世界上最难的 5 种编程语言!编程看后惊讶道:我表示不服,来战?

    每个程序员都熟悉许多编程语言.许多编程语言都是高级的,它们的语法是人类可读的.然而,也有一些低级语言,对于一个人来说,读起来很困难,但是可以理解.然而,您是否遇到过一种既不可读又不可理解的编程语言? ...

  3. 失败的飞机设计-脑洞一个比一个大:世界上最奇怪的15种飞机

    脑洞一个比一个大:世界上最奇怪的15种飞机 机动性能超强的遥控HiMAT飞机. HiMAT飞机的体积只有F-16战斗机的一半大,机动性能却比F-16战斗机强近2倍.在7500米的高度上,HiMAT飞机 ...

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

    世界上最难的5种编程语言 每个程序员都熟悉许多编程语言.许多编程语言都是高级的,它们的语法是人类可读的.然而,也有一些低级语言,对于一个人来说,读起来很困难,但是可以理解.然而,您是否遇到过一种既不可 ...

  5. 程序员的噩梦:世界上最难的5种编程语言

    导读:每个程序员都熟悉许多编程语言.许多编程语言都是高级的,它们的语法是人类可读的.然而,也有一些低级语言,对于一个人来说,读起来很困难,但是可以理解.您是否遇到过一种既不可读又不可理解的编程语言? ...

  6. 语言输出换行符号是什么_世界上最难的5种编程语言

    作者 | Lokajit Tikayatray 译者 | Rayden 策划 | 蔡芳芳 我们平时都在谈论 C.C ++.Java.Python 等编程语言,其实还有些语言不仅对于大多数软件开发人员来 ...

  7. c hello world_世界上最难的 5 种编程语言!C/C++竟不在其列,它们到底是谁?

    我们平时都在谈论 c.c ++.Java.Python 等编程语言,其实还有些语言不仅对于大多数软件开发人员来说都很难,而且几乎是不可理解的. 这些语言被称为深奥难懂的编程语言(或晦涩语言). 晦涩语 ...

  8. 世界上最难的 5 种编程语言!C/C++竟不在其列,它们到底是谁?

    我们平时都在谈论 c.c ++.Java.Python 等编程语言,其实还有些语言不仅对于大多数软件开发人员来说都很难,而且几乎是不可理解的. 这些语言被称为深奥难懂的编程语言(或晦涩语言). 晦涩语 ...

  9. 数学界的隐士:世界上最奇怪的数学天才,被奖励100万却拒领

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 世界上有一种人叫天才,他们智商远高于常人,能够创造各种神话,做到一般人做不到的事情 ...

最新文章

  1. Docker大行其道—镜像
  2. plaxis 2d 2020中文版
  3. CasperJs 入门介绍
  4. 杨辉三角(下三角或者等腰三角)
  5. JavaScript 内置对象(一):Array 对象(构造函数、属性和方法)
  6. canal mysql 数据同步
  7. 生日快乐模板php,可会有人跟我说句生日快乐
  8. 6.6纪念永远的badboy
  9. 【Python】爬虫原理
  10. react 父子传值_React父子组件间的传值
  11. Redis+Keepalived内存数据库集群配置
  12. Linux下部署MongoDB
  13. 为何要使用大数据可视化平台
  14. 计算机精品在线开放课程申报书,精品在线开放课程申报书.doc
  15. vscode下载提速方法
  16. 自己做量化交易软件(28)小白量化实战2--变红买入变绿卖出
  17. 在win7中chm打不开的方法
  18. 74cms前台getshell漏洞
  19. YAMAHA XJR NK年代划分[网络]
  20. IIS建立FTP站点

热门文章

  1. Arthas-MathGame
  2. 博客网站源代码_详解SEO布词以及网站排名优化技巧
  3. oracle的知识,oracle的基本知识
  4. python大神推荐_大神推荐!!!高评分书籍轻松带你入门Python
  5. 基于单片机超声波测距系统的设计_一种基于UWB技术实现的测距防撞系统
  6. c++ 快速排序_常用排序算法之快速排序
  7. hive 配置用户名_配置HiveServer2的安全策略之自定义用户名密码验证
  8. python读json文件中不同的数据类型_怎么使用python提取json文件中的字段
  9. 【LeetCode笔记】5.最长回文子串(Java、动态规划、字符串)
  10. 数据结构中的树 --- 红黑树