我脑子里经常会萦绕一些很无聊的小问题,其中一个就是,这么多的编程语言的名字都是怎么出来的?让我们来给它们归归类。
来自无聊的首字母缩略/简写这一类别中包括BASIC语言,它来自精心设计的“Beginner’s All-purpose Symbolic Instruction Code”。Fortran语言来自 Formula Translation —— 一种糟糕透顶的语言命名方式,但我可以原谅它,因为它可能是最古老的一种高级计算机编程语言。LISP语言也类似,只有搞技术的人才想得出的命名方法,取自 List Processing。
Perl语言这几个字母字面上是意思是 Practical Extraction and Report Language。这是一种在互联网早期盛极一时的编程语言。Perl语言中方便的字符串操作使得它很适合处理URL相关、处理HTML的程序。
为创造市场宣传效果而命名我最喜欢的通用语言,Java,最初叫做Oak,然后改成Green。Java这个名字是最终的选择,之后又由此产生了一系列跟咖啡豆相关的产品名称。我想,从Green改名为Java是一个很有必要的市场策略。JavaScript的名字也从Java天花乱坠的广告宣传中沾光,尽管它跟Java实际上没有多大关系。
Ruby,Smalltalk,和Python的取名全都属于这一类。Python尤其明显:
Python的名字来自于BBC的70年代的一个动漫剧《Monty Python’s Flying Circus》。语言设计者想给这个语言取一个短的、独特的、有点神秘的名字。因为他对这个动漫剧很着迷,他认为这个名字非常棒。
只有程序员才能理解的名字很久很久以前,有一种语言叫做BCPL(Basic Combined Programming Language)。这种语言一个轻量级的版本叫做B语言。当Dennis Ritchie基于B语言设计出了一种新语言后,他把它称作C语言。这是因为它很像B,但比B好。在C语言中,两个加号放到一起(++)意思是把一个值加一。于是,C语言的后继者就成了C++(很像C,但更好)。C++的修订版变成了D语言。C语言的另外一个修订版叫C#(这种语言更应该感谢的是Java)——在音乐符中比C要高半个音程。
以数学家名称命名的语言Pascal的名字来源于17世纪法国著名的数学家Blaise Pascal。
查尔斯-巴贝奇,一个18世纪数学家,他设计(但从未实现)了一个简单的可编程计算机,叫做“the Difference Engine”,因此以他的名称命名了一种编程语言叫做Babbage。拜伦勋爵的女儿Ada Lovelace跟巴贝奇一起共事,她为“the Difference Engine”计算机设计了一套程序。这被认为是历史上第一计算机程序——尽管她从来没有运行过它,debug过它,或给它设计一个漂亮的用户界面。美国国防部提议以她的名字命名了一种编程语言,这就是Ada语言。
Haskell语言和Curry语言的名字都来自于20世纪美国数学家 Haskell Curry。他的姓氏还被采用为’currying’编程技术——把有两个参数的函数转变成一个只有一个参数的函数,第二个参数变成固定值。只有Haskell Curry自己经常用这个概念。这个概念实际上是来源于Moses Sch?nfinkel,但事实上,如果说’currying’听起来有点傻,那’Sch?nfinkelisation’就有点荒唐了。
以色情明星名字命名的编程语言现在我要说的就是有史以来最出色的编程语言名字。这也是这篇文章真正的目的。我在大学里学了一点Linda语言,这是一种通常被当作一种“语言里的语言”,用来做并行处理。很多年后我才知道Linda这个名字来自于色情明星Linda Lovelace。我想可能是语言设计者搞出的一个小笑话,或是对Ada的某种隐喻。我花了整堂计算机课琢磨这个问题。
据我所知,Linda是唯一一个以色情明星命名的计算机语言。
[英文原文:
The Best Name Ever for a Computer Language ]yY&^阬剉5uAm0<