导读:本文介绍的编程语言,倒像是外星人假装地球人发明的,咱们来一起看一看。
背景
在不断发展的计算机科学与软件开发领域,编程语言在塑造开发人员如何创建技术并与技术交互方面发挥着至关重要的作用。虽然 Python、Java 和 JavaScript 等流行编程语言占据主导地位,但也存在一些鲜为人知且未使用的编程语言,它们有的已经逐渐被人忘记或者刚刚显露头角。
在本文中,我们深入研究了编程历史,向大家介绍 其中一些被遗忘的语言,并探讨它们默默无闻背后的浅表原因。
1 Befunge:深奥的迷宫
Befunge 于 1993 年正式被推出,它将非常规编程语言的概念提升到了一个全新的水平。Befunge 被设计为一种深奥复杂的二维编程语言,以其独特的控制流和内存操作向所有开发人员发起了挑战。
Befunge 的代码并不是线性执行,而是类似于网格状迷宫,指令指针像在墙壁上弹起并以不可预测的方式执行命令。因为 Befunge 很古怪,其陡峭的学习曲线和缺乏实际应用场景,它目前在很大程度上仍然未被多少人使用。
Hello World 示例:
> v
v"Hello World!"<
>:v
^,_@
2 INTERCAL:做可读性的对立面
INTERCAL 是“没有可发音缩写的编译器语言”的简称,这名字也算名副其实,它是一种创建于 1972 年,故意设计迟钝并且复杂的语言。
INTERCAL 是对编程语言的模仿,以其不直观的语法和无意义的结构而闻名。它包括“COME FROM”语句等功能,与传统的编程逻辑形成鲜明对比。虽然 INTERCAL 像是对编程语言的幽默展现,它也因为实用性和可读性的缺乏,确保了它在编程好奇心领域的顶级地位。
Hello World 示例:
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
3 Malbolge:臭名昭著的谜团
Malbolge 被称为最难理解的编程语言之一,它是一种故意设计成几乎不可能编程的语言。
这种深奥的语言是在 1998 年推出的,采用复杂的执行模型和加密原理,增加了令人困惑的复杂性。即使是经验丰富的开发人员,Malbolge 复杂的设计和缺乏实际用途也让这些人认为它一个纯粹的谜,它吸引着那些敢于探索其复杂性的人。
Hello World 示例:
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/
4 Whitespace:虚空编程
Whitespace 于 2003 年推出,通过使用空格字符作为其语法,将极简主义的概念发挥到了极致。
这意味着实际代码完全由空格、制表符和换行符组成,而所有其他字符都将被忽略。虽然Whitespace是编码美学方面的独特实验,但由于缺乏可读性和可访问性,其实用性受到严重的限制。
Hello World 示例:
S S S T S S T S S S L:Push_+1001000=72='H'_onto_the_stack
T L
S S :Output_'H';_S S S T T S S T S T L:Push_+1100101=101='e'_onto_the_stack
T L
S S :Output_'e';_S S S T T S T T S S L:+1101100=108='l'
T L
S S S S S T T S T T S S L:+1101100=108='l'
T L
S S S S S T T S T T T T L:+1101111=111='o'
T L
S S S S S T S T T S S L:+101100=44=','
T L
S S S S S T S S S S S L:+100000=32=Space
T L
S S S S S T T T S T T T L:+1110111=119='w'
T L
S S S S S T T S T T T T L:+1101111=111='o'
T L
S S S S S T T T S S T S L:+1110010=114='r'
T L
S S S S S T T S T T S S L:+1101100=108='l'
T L
S S S S S T T S S T S S L=+1100100=100='d'
T L
S S S S S T S S S S T L:+100001=33='!'
T L
S S :Output_'!';_L
L
L:End_the_program
5 Piet:艺术家式编程语言
Piet 于 2005 年推出,它融合了编程和抽象艺术的世界在里面。
在这种视觉启发的语言中,程序被表示为抽象图像,控制流由这些图像中的颜色和形状决定。开发人员使用一组特定的规则“绘制”程序,创建执行代码的复杂且丰富多彩的组合。
尽管 Piet 具有创新的编码方法,但其固有的复杂性和视觉特性阻碍了其作为主流编程工具的采用。
小结
编程语言是一个广阔而多样的世界,它既包括广泛使用的主流编程语言,也包括晦涩难懂、被遗忘的好奇心型编程语言。
像Befunge、INTERCAL、Malbolge、Whitespace 和 Piet 等语言代表了编程的古怪与实验性的一面,它们挑战了传统语法、可读性和实用性等正经编程语言概念。
虽然这些编程语言可能永远不会获得主流开发者认可并流行起来,但它们提醒人们定义计算机科学领域的创造力与不断探索的心是无止境的。
随着开发人员不断突破界限并发明通过代码表达想法的新方法,能够记住这些隐藏的宝石也非常重要,它们为丰富计算机的编程历史做出了贡献。
参考链接:
https://esolangs.org/wiki/Befunge
https://en.wikipedia.org/wiki/INTERCAL
https://pt.wikipedia.org/wiki/Malbolge
https://en.wikipedia.org /wiki/Whitespace_(编程语言)
https://retas.de/thomas/computer/programs/useless/piet/explain.html
作者:场长
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。