打开TIOBE Index世界编程语言排行榜,出现在榜单上的程序语言名称多半都让人一头雾水。一些程序语言的作者会以「这种语言是什么」来命名语言,比如BASIC、COBOL、TCL、LISP;另一些语言则是由它从哪些现有语言派生而来命名,像是C++,C#;当然还有一些来源于数学家或计算机科学家的名字,其中的代表则是Ada,Pascal,Turing。
但也有很多程序语言的名称是编写者随便拍脑门和大腿瞎想出来的,这篇文章里要讲的这几个就是如此。
Python 不是大蟒蛇,是个BBC电视剧
Guido van Rossum
Python的创始人吉多·范罗苏姆(Guido van Rossum)是个精力旺盛的逗比(就是上面图里这个人,我也想拍一张这样的皂片!)。1982年从阿姆斯特丹大学取得数学和计算机科学硕士学位后,他曾在多家科研机构工作,2005至2012年他在Google工作了7年,之后又离职加入Dropbox。这位现年60岁的荷兰程序员在他34岁(1989年)的圣诞节假期中设计出了风靡世界的程序语言Python。虽然Python的原意是大蟒蛇,但创始人显然不是想表明这种语言可以变成白娘子跟你在西湖相遇,关于Python的命名,吉多自己(在1996年时)的说法是这样的:
「六年前的1989年12月,我在寻找一门『课余』编程项目来打发圣诞节前后的假期时光。假期里我的办公室关门,但我有一台家用电脑。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的继承,对UNIX / C程序员会有吸引力。作为一个略微有些奇怪想法的人和《蒙提·派森的飞行马戏团》的狂热爱好者,我选择了Python作为项目的标题。」
那么问题来了,《蒙提·派森的飞行马戏团》是啥?
《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)是英国的喜剧团体蒙提·派森创作的系列超现实主义电视喜剧,1969年首次以电视短剧的形式在BBC电视频道播出,共推出了4季共45集节目。随后喜剧团体蒙提·派森的影响力从电视扩展到舞台剧、电影、音乐专辑、音乐剧等,被外国媒体认为「在喜剧上的影响力相当于披头士在音乐方面的影响」。他们六个人就长这样:
喜剧团体蒙提·派森
那么问题又来了,《蒙提·派森的飞行马戏团》这个电视剧的名字是怎么来的?
事实上,喜剧团体蒙提·派森取名的唯一评判标准就是听起来是不是很滑稽。一种说法是在这个名字定下来之前他们尝试过很多奇怪的名字,比如「猫头鹰伸开翅膀的时候」「蟾蜍的升降力矩」「一匹马」「勺子和桶」「回顾凡士林」「秃鹫」等等,直到BBC受不了了,表示「《蒙提·派森的飞行马戏团》这个名字很滑稽!而且我们把它公布出去了你们不许改了!!」名字才定下来。
另一个成员说叫蒙提·派森(Monty Python)是喜剧团体的成员Eric Idle的主意,「Monty」这个名字是为了讽刺二战传奇将军蒙哥马利勋爵(Field Marshal Lord Montgomery)。他们要为这个名字找到一个听上去比较圆滑的姓,因此选择了「Python」。这个方案提出后,BBC对于「Monty Python」这个名字的看法是:「对于一个低俗娱乐群体而言真是个完美的名字」。
除去Python,以流行文化命名的程序语言还有不少,比如Frink Language来自《辛普森一家》中的Frink教授:
说回到Python这门语言,虽然名称来源和本意都不是大蟒蛇,但公司还是采用了两条盘在一起的蛇作为logo,不得不说这两条缠在一起的蛇真的好像是在交配……
咖啡屋的小甜心 Java
Java在英语中直译是著名咖啡产地「爪哇岛」,程序语言Java的命名也与此有关。
1990年代初期,Sun Microsystems公司正努力开发一种应用于电视机顶盒、闹钟、面包机和微波炉的程序语言。这一项目在Sun公司内部被称为Green项目,但公司创始人和前CEO詹姆斯·高斯林(James Gosling)一直认为应该为这种新语言取个名字。直到有一天,詹姆斯看到办公室门口的一株橡树(Oak),这种充满生命力的绿色植物在硅谷随处可见,詹姆斯决定将新语言命名为Oak。由于当时智能家电的市场需求并不太高,Sun公司不久后就放弃了这项计划。
1994年,网络的发展让Sun公司认为万维网未来大有可为,决定将Oak应用于应用于万维网。但那时Oak已经被一家显卡制造商注册了,詹姆斯只好要求公司市场部召开命名征集会来命名这个新语言,将征集来的名称按照评选次序列成表提交给商标律师。
詹姆斯·高斯林
关于取名的过程,詹姆斯曾经这样告诉Sun公司现任总裁乔纳森·施瓦兹(Jonathan Schwartz):
「那天下午,我们大约十二人将自己锁在房间中,命名顾问充当会议主持人让我们写出一些名字来挑选。我们最终写出了大约十二个名称,律师团选定了能排除其他名称的候选项。Java是列表中的第四个名称,我最喜欢的是第三个名称『Lyric』(抒情诗)。」会上排在第一位的名字是Silk(丝绸),但这个名字遭到了詹姆斯的坚决反对。排名第二第三的名称没有通过律师的筛选,排在第四位的Java最终当选。
据詹姆斯回忆,最先提出这个名字的人是马克·奥普曼(Mark Opperman),灵感来源是在一家咖啡店与同事品尝的爪哇岛咖啡。爪哇岛出产的阿拉比卡种咖啡香味清淡又没有酸味,很多国外咖啡馆都以Java来命名或宣传以彰显品质。Java语言同样看中了这种品质,以一杯飘着香气的咖啡作为Logo,还将Java语言中的很多库类名称以咖啡相关词语命名,比如NetBeans、JavaBeans、ObjectBeans等等。
另外,当使用十六进制编辑器打开由Java源代码编译出的二进制文件(.class文件)的时候,最前面的32位显示为CA FE BA BE,即为词组「CAFE BABE」(咖啡屋宝贝)。
除了Java Language,名称同样属于食物类的语言还有Pizza Language等等。
Lovelace女士 是情色女星,也是女程序员
洛夫莱斯(Lovelace)是个跟程序语言有着不解之缘的姓氏。至少有两种程序语言以Lovelace女士的名字命名。较为知名的一个是Ada Language,这种语言1970年代产生于美国国防部,最初目的是减少国防部使用的高级编程语言数量。Ada的命名则是为了纪念埃达·洛夫莱斯(Ada Lovelace)女爵。
Ada Lovelace
这位Lovelace女爵就是大名鼎鼎的英国诗人拜伦的女儿。和她父亲一样,Ada在数学方面也有着极高的天赋。她曾花九个月时间翻译意大利数学家路易吉·米纳比亚讲述查尔斯·巴贝奇计算机分析机的论文,并添加了许多注记来说明用该机器来计算伯努利数的方法。这种方法被认为是世界上第一个计算机程序,Ada也被认为是世界上第一位女性程序员。
Linda Lovelace
程序员Ada Lovelace女士逝世约126年后,耶鲁大学的研究生大卫·格林特(David Gelernter)听说了这个故事。当时他正考虑如何为自己编写的一种程序语言的命名。格林特先生马上想到了另一位Lovelace女士——他最喜欢的情色女星琳达·洛夫莱斯(Linda Lovelace)。格林特用Linda的名字命名了他的程序语言。
以人名命名的程序语言很多,比如Eiffel Language得名于埃菲尔铁塔的设计者居斯塔夫·埃菲尔(Gustave Eiffel),Hugo Language则是以维克多·雨果(Victor Hugo)的名字命名。与艺术相关的命名也不少,比如Oberon Language的名字源于莎士比亚《仲夏夜之梦》中的国王,Miranda Language则是莎士比亚《暴风雨》中的一个角色。Oz Language的Oz来自《绿野仙踪》(The Wizard of Oz),Malbolge Language的Malbolge则是但丁《神曲》中地狱的第八层。
十几年后,有好事记者采访格林特询问他为什么用Linda来命名程序,格林特只是淡淡地怂了怂肩膀:「哈哈哈哈哈哈当时我只是个研究生啊。」
- 本文固定链接: https://zxbcw.cn/post/4847/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)