程序员可能会觉得在写代码的时候给变量命名是一件很烦人的事情,但他们还需要给另外一个东西命名,那就是新的编程语言。编程语言的命名通常有几种规则,比如基于特性的缩写(如BASIC、COBOL、TCL和LISP),基于现有语言的缩写(如C++、C#和CoffeeScript),或者直接取自该领域的杰出人物数学和计算机名称(例如Ada、Pascal和Turing)。有时,设计师在取名时会更有想象力。这里有13个有意义的名字,以及它们背后的故事。Python是由GuidovanRossum在1980年代后期发明的。据说它的初衷是为了消磨圣诞节的无聊。它于1991年首次发布,是ABC语言的继承,也是一种脚本语言。现在很流行。给它命名时,GuidovanRossum认为它应该是“简短、独特、有点神秘”。他是英国著名剧团MontyPython的忠实粉丝,所以是Python。Java诞生于1990年代初期,起源于Sun的智能家电程序的开发,比如互动电视。它最初被命名为Oak,但孙的律师发现这个名字已经被注册了。通过一系列会议,该公司从包括Silk、DNA和Java的列表中选择了它。不知道是谁首先提出了Java这个名字,但人们普遍推测其灵感来自Peet'sCoffeeShop,Sun的工程师们喜欢在那里喝咖啡。Forth由CharlesMoore在1960年代创建。1968年,查尔斯·摩尔在一家名为Mohasco的家居装修公司工作。他只有一台IBM1130微型计算机,最多有2250个图形显示点,但他想用它来设计地毯,但FORTRAN不能满足要求,于是他发明了Forth。原名Fourth,不幸的是,IBM1130支持最多5个字符的文件名,“u”走了,“Forth”诞生了。Perl被称为“瑞士军刀”,以其灵活性和效率着称。它是由LarryWall在1980年代发明的。LarryWall的想法是这个名字应该简短并且充满积极的内涵。在想到珀尔之前,他还想到了他妻子的名字格洛丽亚。但是,已经有一种叫做PEARL的语言,所以去掉了pearl中的“a”。值得一提的是,这个名字一直都是小写的,受区分大小写的Unix文件系统的影响,1991年Perl4发布时,LarryWall将首字母改为大写。Lua由TeCGraf于1993年开发,是一种脚本语言。该语言由DEL和SOL开发,结合??了两者的优点,并增加了流控制等功能特性,可以称为他们的孩子。在葡萄牙语中,sol的意思是“太阳”,而lua的意思是“月亮”。Smalltalk最早由XeroxPARC在1970年代初期开发。它是面向对象类型语言的一员,后来在Java、Python和Ruby中都能看到它的影子。优化后,参与开发者AlanKay表示在命名时要遵循名字好看的语言,比如“Zus”和“Thor”都不是长寿的,这个规则。因此,采用了简单的名称“Smalltalk”。在1960年代,Logo是由DanielG.Bobrow、WallyFeurzeig、SeymourPapert和CynthiaSolomon设计的一种教学语言。它也是一种Lisp方言,便于在教学过程中引入大量的编程概念。随后的教育编程语言,如Scratch,产生了深远的影响。该语言的一个重要特征是“海龟绘图”系统。它的名字来源于“logos”,在希腊语中是“词”或“思想”的意思,以区别于传统的编程语言。Ruby由YukihiroMatsuMOTO(“Matz”)于1993年开发,是一种名副其实的面向对象的脚本语言,可与Perl和Python媲美。Matz想将其命名为gem,就像Perl所做的那样。在和同事KeijuIahitsuka筛选了很多名字后,留下了Coral和Ruby。最终选择Ruby是因为Perl的读音与六月生辰石珍珠(pearl)相同,而Ruby选择以七月生辰石ruby(红宝石)命名。Matz认为Ruby不仅愿意成为Perl(Matz认为它是一种“玩具语言”),而是愿意取代它的Scheme1950年代后期,JohnMcCarthy在麻省理工学院开发了最早的高级编程语言Lisp。它迅速成为人工智能研究的首选,随后诞生了很多Lisp方言,例如Planner和Conniver。1975年,麻省理工学院的GeraldJaySussman和GuySteele共同开发了另一种Lisp方言,并将其命名为SchemerPlanner和Conniver的命名方式,不幸的是,在MIT开发的ITS操作系统上运行时,这个系统支持最多六个字符的文件名,所以改为Scheme。Scala是MartinOdersky在2001年开发的,不是不仅是一种函数式编程语言,而且还具有面向对象的特点,它运行在Java平台上(早期是在.NET平台上实现的),Scala这个名字的来源有两个原因:SCAlable这两个词的组合LAN;在意大利语中,scala的意思是“梯子”或“楼梯”,暗示“一种更好的编程语言”。Scratch的第一个版本Scratch是2006年由麻省理工学院媒体实验室LifelongKindergartenGroup开发的,是一种教学语言。孩子们可以通过将程序模块拖放到计算机屏幕上来完成编程序列。它可以用来创作小说、电影、游戏、音乐等等,几乎你能想到的任何东西它都能做。它的名字来源于DJing的声音。AWK如果你使用过Unix系统,你可能对AWK很熟悉。它于1997年开发,是一种用于处理文本文件的解释型语言。它也是Linux和Unix环境中可用的最强大的数据处理引擎之一。LarryWall在开发Perl时深受其影响。AWK这个名字,和很多语言的名字一样,也是一个缩写。不同的是,这三个字母是其发明者贝尔实验室的AlfredAho、PeterWeinberger和BrianKernighan(上图)名字的首字母。Groovy2003年,Java程序员JamesStrachan需要一种类似于Python和Ruby但可以在Java平台上运行的脚本语言。于是发明了Groovy。它可以被动态编译成Java字节码。正如JamesStrachen所说,“在令人敬畏的(groovy)Java代码之上编程”,这个名字不言自明。【claudivia网络世界】翻译链接:http://www.oschina.net/news/50012/13-programming-language-origin
