低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

盘点世界上奇怪的 6 种编程语言

2021 年 3 月 10 日

盘点世界上奇怪的6种编程语言

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


本文最初发布于 Level Up Coding 博客,经原作者授权由 InfoQ 中文站翻译并分享。


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


以下是这 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.?fcg.?=/fcv.?cd.?fcg.?=\]}
复制代码

3.Chicken


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


虽然代码很多,但它只是打印“Chicken Power!”感兴趣的话,可以在这里试一下。


chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chickenchicken 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 brave   hero 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 Romeo   and 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

2021 年 3 月 10 日 15:352578

评论

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

ETL都没弄懂,谈什么大数据 ?我用一分钟给你整明白

智分析

ETL

SpringCloud从入门到精通01---父项目创建

Felix

SpringCloud Eureka 高可用架构

再谈自研开源Kube-OVN, 设计思路及实现原理

York

灵雀云 Kubernetes k8s Kube-OVN

Kube-OVN v 0.7.0 发布,IPAM、子网和安全功能增强

York

灵雀云 Kubernetes k8s Kube-OVN

如果你听说过 Elastic Certified Engineer

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

Spark HistoryServer日志解析&清理异常

笨小康

大数据 spark hdfs

代码也能“杀”虫:此虫,真虫非Bug也

华为云开发者社区

代码 华为云 modelarts

Kube-OVN 0.5.0 发布,支持 NetworkPolicy、用户自定义网卡和MTU

York

灵雀云 Kubernetes k8s Kube-OVN

“持证”就能上岗 京东绿色内推招聘通道开启

京东科技开发者

云计算 大数据 程序人生

文档驱动开发模式在 AIMS 中的应用与实践

华为云开发者社区

Web 代码 API 文档

云算力矿机租赁挖矿APP系统开发|云算力矿机租赁挖矿软件开发

开發I852946OIIO

系统开发

价值 - 价值的底色(一)

石云升

读书笔记 投资 28天写作 价值

智慧公安大数据可视化分析平台开发,重点人员管控平台建设

WX13823153201

Java中定时器Timer致命缺点(附学习方法)

叫练

定时任务 高效学习 多线程 定时器 技术学习

SpringCloud从入门到精通02---支付模块01

Felix

技术实录 | 灵雀云基于 OVN 的 Kubernetes 网络架构解析

York

灵雀云 Kubernetes k8s Kube-OVN

Kube-OVN 0.6.0 发布,支持 IPv6、流量镜像及更多功能

York

灵雀云 Kubernetes k8s Kube-OVN

Yarn RM写ZNode超数据量限制bug修复

笨小康

大数据 zookeeper YARN

灵雀云Kube-OVN:基于OVN的开源Kubernetes网络实践

York

灵雀云 Kubernetes k8s Kube-OVN

要想软件“一想之美”,UI测试少不了

华为云开发者社区

软件 测试 华为云

volatile 关键字精讲

伯阳

Java volatile 关键字 后端开发 多线程与高并发

软件界旷世之架:测试驱动开发(TDD)之争

华为云开发者社区

软件 测试 TDD 代码 devcloud

大作业一:架构设计方案评审

Nick~毓

开始的开始-可能是最早提交的28天写作活动作品

石君

28天写作

一个正确的编程思维

程序员吴师兄

28天写作

新思科技网络安全研究中心发现Bouncy Castle中的漏洞

InfoQ_434670063458

新思科技 Bouncy Castle

软件测试--缺陷报告

测试人生路

软件测试

Hive的调优你都知道那些?

大数据老哥

大数据 hadoop hive

从七日更,到28天写作挑战,我无法拒绝的原因

梁龙先森

前端 编程语言 28天写作

VUE项目性能优化实践——通过懒加载提升页面响应速度

Geek_Willie

Vue

边缘计算安全技术研究

华为云原生团队

云计算 大数据 云原生 边缘计算 华为云

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

盘点世界上奇怪的6种编程语言-InfoQ