西雅图IT圈/seattleit
【今日作者】
挨踢吐槽君
IT圈头号喷子
创造一门编程语言有多难?我不知道?
但是我可以告诉你,那些创造过编程语言的人们,
在程序员的江湖里,都是东邪西毒一般的传奇人物。
▼
比如创造C语言的「丹尼斯·里奇」
Java之父「詹姆斯·高斯林」
以及Go语言的发明者「肯·汤普逊」等
意外发现大神们的画风如此相似...
按说创造一门编程语言足以让你跻身传奇人物之列
那么创造8门语言的牛人
就应该是超神一般的存在了
然而我们今天故事的主人公
David Morgan-Mar
▼
虽然创造了足足8种编程语言,却不仅没有得到超神的地位,甚至几乎没什么人知道他。
原因也很简单——他所创造的这些编程语言都...太奇葩了。如果说大神们设计语言时追求的是简洁美观,那么大卫设计语言的标准可以总结成一句话:
▼
【喝最烈的酒,日最野的狗】
今天,我们就来带大家见识一下,那些大卫·摩根马发明的,你永远都不会使用的编程语言...
1
Ook!
我们曾介绍过一门奇葩语言叫做Chicken,这个语言只有一个关键词即“Chicken”。而今天第一个要介绍的Ook! 语言,和Chicken十分类似。但比Chicken语言高级的地方在于Ook语言至少有三个关键词,分别是“Ook!”,“Ook.” 和“Ook?”...
▽
让我们来看一个栗子
用Ook!语言写出来的Hello World如下:
2
Chef
Chef翻译成中文就是“主厨”,而Chef语言和它的名字一样,要让程序员在写代码的时候,有一种下厨做饭的既视感。一个完整的Chef程序如同一个菜谱,代码分为三个部分:程序名就是菜名,变量声明就是罗列原材料。而之后的一系列操作,也是用烹饪的步骤来表示,比如”Put potatoes into the mixing bowl.”,这表示把变量 potato 存入stack里。
▽
以下这段文字分明就是个菜谱
可它确实也是用Chef语言写出来的Hello World:
3
Haifu
如果你以为大卫·摩根马设计的编程语言就是玩弄字母和语法,那你就太天真了。相反,他对于“来自东方的神秘力量”也有深刻的了解,并在此基础上创造了一种编程的语言,叫做Haifu。
▽
按作者的说法
Haifu 在中文里的意思是 Sea duck
然而作为中国人我完全不知道他在说啥...
不过,这门诞生于东方文化的编程语言还是很有来头。在这门语言的语法中不经包含了天地阴阳的概念,更有五行的相生相克!在Haifu的主页上,David 十分执着地用英语介绍五行的原理:Earth creates Metal, Metal creates Water, Water creates Wood, Wood creates Fire, Fire creates Earth.(土生金,金生水,水生木,木生火,火生土)
讲真,实在难以想象老外们在学习这门语言地时候(如果真有人这么无聊...),需要经历怎样的困难。
4
Piet
事实上,David 不仅在文化方面实现了跨界,他更是突破了26个英文字母的限制,发明了用图像来编程的语言——Piet。个人认为,Piet语言应该是大卫·摩根马一生的巅峰。当然,就变态程度而言,Piet语言也算是变态编程语言皇冠上的明珠了。
如果说前面介绍的几种语言,写出来多多少少还能让你相信“这可以是一个程序的话”,那么看看下面的例子吧。
▽
你能相信这是Piet语言的Hello World吗?
后记
鉴于篇幅的限制,我们无法在这里介绍 David Morgan-Mar 创造的所有8种编程语言,如果大家感兴趣,可以去研究一下他的其他杰作,比如 HQ9++, BIT等等。作为奇葩语言的集大成者,他的其他作品也不会让你失望。
另外提一句,虽然 David Morgan-Mar 已经创造了8种风格各异的奇葩编程语言,他也没有退隐江湖的意思,每天开心的在佳能公司搬搬砖,闲暇时间还会画画漫画。说不定哪天这位老兄就会搞出他的第九门编程语言出来。
Well,反正也没人在乎,对吧?
西雅图IT圈原创
仅有不到7%的公众号, 还在坚持原创
如果喜欢, 请分享我们的文章
每天加点料
上班玩游戏,考验的都是手速
文章转载,商业合作,请联系E-mail:
SeattleITquan@gmail.com