本文作者:qiaoqingyi

老外玩编程(外国人学编程是不是更容易)

qiaoqingyi 06-13 132

  西雅图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

阅读
分享