可能程序员们都认为编写代码时给变量取名是件烦人的事,不过他们还需要给另外一个东西取名,那就是新的编程语言。编程语言命名通常有几个规律,如根据特性取缩写(如BASIC,COBOL,TCL和LISP),以已有的语言为基础(如C++,C#和CoffeeScript),或直接是数学和计算机领域杰出人物的名字(如Ada,Pascal和Turing)。有时,设计者取名时更充满想象力。下面是13个意味深长的名字,以及它们背后的故事。
Python
于20世纪80年代末,由Guido van Rossum发明,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一种脚本语言,目前已经很流行。取名时,Guido van Rossum认为它应该“短小,独特,还有一点神秘感”,他是英国著名剧团Monty Python的忠实粉丝,所以就是Python了。
Java
于20世纪90年代初期诞生,源自Sun公司的智能家电程序开发,如互动电视。最初名为Oak,不过Sun公司的律师发现这个名字已经被注册。通过一系列的会议,公司从一个包含有Silk,DNA和Java的名单中选择了它。是谁第一个建议使用Java这个名字的不得而知,不过普遍猜测是灵感来自Peet咖啡店,因为Sun公司的工程师们很喜欢到这里喝咖啡。
Forth
于20世纪60年代,由Charles Moore创造。1968年Charles Moore在一家名为Mohasco的家装公司工作,只有一台最多2250图形显示点数的IBM1130微型计算机,不过却要用它来设计地毯,而FORTRAN却不能满足要求,所以他发明了Forth。最初其名为Fourth,不巧,IBM1130最多支持5个字符的文件名,“u”去而“Forth”生。
Perl
被誉为“瑞士军刀”,以灵活性和高效性著称,于20世界80年代由Larry Wall发明。Larry Wall的构思是这个名字应该短,并充满正面意味。想到pearl前,他还考虑过他妻子的名字Gloria。不过已经有一种语言叫PEARL,所以去掉了pearl中的"a"。值得一提的是,这个名字一直都是小写,受Unix文件系统都是区分大小写的影响,1991年Perl 4发布时,Larry Wall将首字母改为大写。
Lua
于1993年,由TeCGraf开发完成,是一种脚本语言。该语言由DEL和SOL开发而来,结合了两者的优点,并增加了了流控制等函数特性,可谓是它们的孩子。葡萄牙语中,sol意为”太阳”,而lua意为“月亮”。
Smalltalk
于20世纪70年代早期,首次由Xerox PARC开发,是是面向对象类型语言的一员,后来的Java, Python和Ruby中都能见到其影子。优化后,参与开发者Alan Kay对其命名时表示应该遵从名字看起来好看的语言,如“Zus”和“Thor”都不长命,这种规律。所以,就取了“Smalltalk”这个平平的名字。
Logo
于20世纪60年代,是由Daniel G. Bobrow, Wally Feurzeig, Seymour Papert 和Cynthia Solomon设计的一种教学式语言,也是一种Lisp方言,为教学过程中介绍大量程序设计概念提供了便利,对后来的教学式编程语具有深厚的影响,如Scratch。这种语言的一个重要特征就是 “海龟绘图”系统。其名源自“logos”,希腊语中意为“单词”或“思想”,以区别于传统的编程语言。
Ruby
于1993年,由Yukihiro Matsumoto(“Matz”)开发完成,是名副其实的面向对象的脚本语言,与Perl和Python比肩。Matz希望同Perl一样,为它取一个宝石的名字。与同事Keiju Iahitsuka在许多名字中筛选后,剩下Coral和Ruby。最终选择Ruby是因为,Perl的发音与6月的诞生石pearl(珍珠)相同,Ruby选择以7月的诞生石ruby(红宝石)命名,Matz认为Ruby不只甘做Perl(Matz认为其是“玩具语言”)的后继者,而是要替代它。
Scheme
20世纪50年代末,John McCarthy在MIT开发了最早的高级编程语言,Lisp。它迅速成为了人工智能研究领域的首选。随后,许多Lisp方言相继诞生,如Planner和Conniver。1975年,Gerald Jay Sussman同MIT的Guy Steele联合开发完成了另外一种Lisp方言,并根据Planner和Conniver的取名方式,命名为Schemer。同是不巧,当在MIT开发的ITS操作系统上运行时,这种系统最多支持六个字符的文件名,所就改为了Scheme。
Scala
于2001年,由Martin Odersky开发完成,既是一种函数式编程语言,也具有面向对象的特性,运行于Java平台(早期有.NET平台的实现)。其名Scala的得来有两个原因:SCAlable LAN两个单词相结合;意大利语中 scala意为“梯子”或“楼梯”,蕴含“更佳的编程语言”。
Scratch
第一版 Scratch 由麻省理工学院媒体实验室终身幼稚园组在2006年研发出来,是一种教学式语言。儿童可以通过拖拽电脑屏幕上的程序模块完成程序设计序。它可以用以创作小说,电影,游戏,音乐等等,几乎你能想到的它都能办到。其名源自打碟的声音。
AWK
如果使用过Unix系统,AWK对你来说可能再熟悉不过了。它于1997年开发完成,是用以处理文本文件的解释性语言,同时也是Linux及Unix环境中现有的功能最强大的数据处理引擎之一。Larry Wall开发Perl时深受其影响。AWK这个名字同许多语言名字一样,也是缩写,不同的是,这三个字母是其发明这的名字首字母,贝尔实验室的Alfred Aho,Peter Weinberger和 Brian Kernighan(上图)。
Groovy
2003年,Java程序员James Strachan需要这样一种脚本语言:同Python和Ruby相似,但又却能在Java平台上运行。于是发明了Groovy。它能动态编译为Java字节码。正如James Strachen 所说的那样,“在绝妙的(groovy)Java代码基础上编程”,这个名字就不言而喻了。
分享到:
相关推荐
Hreyfan —移动代码的编程语言Hreyfan是一种分布式系统编程语言,旨在用于程序组件可以在空间上分布和移动的应用程序。 它是一种基于对象的语言,具有用于确保安全通信的面向类型状态的功能,以及用于确保安全使用...
5.3.2 更复杂的编程实例 5.4 DOM和XML的未来 5.4.1 W3C的工作 5.4.2 应用 5.4.3 数据库、模式和DOM 5.5 小结 第6章 SAX 1.0: XML简易API 6.1 事件驱动接口 6.2 SAX的由来 6.3 SAX的高级特性 6.3.1 可选择...
5.3.2 更复杂的编程实例 5.4 DOM和XML的未来 5.4.1 W3C的工作 5.4.2 应用 5.4.3 数据库、模式和DOM 5.5 小结 第6章 SAX 1.0: XML简易API 6.1 事件驱动接口 6.2 SAX的由来 6.3 SAX的高级特性 6.3.1 可选择...
1.1.2 Linux名称的由来 1.2 Linux的发展要素 3 1.2.1 UNIX操作系统 4 1.2.2 Minix操作系统 4 1.2.3 POSIX 标准 4 1.3 Linux与UNIX的异同 5 1.4 操作系统类型选择和内核版本的选择 5 1.4.1 常见的不同...
1.1.2 Linux名称的由来 3 1.2 Linux的发展要素 3 1.2.1 UNIX操作系统 4 1.2.2 Minix操作系统 4 1.2.3 POSIX 标准 4 1.3 Linux与UNIX的异同 5 1.4 操作系统类型选择和内核版本的选择 5 1.4.1 常见的...
5.3.2 更复杂的编程实例 5.4 DOM和XML的未来 5.4.1 W3C的工作 5.4.2 应用 5.4.3 数据库、模式和DOM 5.5 小结 第6章 SAX 1.0: XML简易API 6.1 事件驱动接口 6.2 SAX的由来 6.3 SAX的高级特性 6.3.1 可选择...
5.3.2 更复杂的编程实例 133 5.4 DOM和XML的未来 143 5.4.1 W3C的工作 143 5.4.2 应用 144 5.4.3 数据库、模式和DOM 144 5.5 小结 144 第6章 SAX 1.0: XML简易API 145 6.1 事件驱动接口 145 6.2 SAX的由来 148 6.3 ...
1.1.2 Linux名称的由来 3 1.2 Linux的发展要素 3 1.2.1 UNIX操作系统 4 1.2.2 Minix操作系统 4 1.2.3 POSIX 标准 4 1.3 Linux与UNIX的异同 5 1.4 操作系统类型选择和内核版本的选择 5 1.4.1 常见的...
Java是Sun公司开发的一种编程语言,Sun公司最初的方向是让Java来开发一些电器装置程序,Java名字的由来,实际上是一个有趣的故事。
Java是美国Sun(Stanford University Network,斯坦福大学网络公司)公司在1995年推出的一门计算机高级编程语言。但是在2009年是Sun公司被Oracle(甲骨文)公司给收购了,所以目前Java语言是Oracle公司所有产品。 ...
这也就是我们这套课程《scratch少儿编程——创作的喜悦》名称的由来。 这套课程我们计划一共出三个阶段,目标是帮助孩子完整的理解编程的概念,并且可以独立创作自己想要的作品。目前大家看到的只是第一阶段。 第一...
1.1.2 Linux名称的由来........................................ ........ 3 1.2 Linux的发展要素...................................................... 3 1.2.1 U N I X操作系统.................................
3.2事件的由来 3.2.1 更好的封装性 3.2.2 限制类型能力 3.3委托的编译代码 3.4.NET框架中的委托和事件 3.4.1 示例说明 3.4.2 Observer设计模式简介 3.4.3 实现示例的Observer设计模式 3.4.4.NET框架中的委托...
5.3.2 更复杂的编程实例 5.4 DOM和XML的未来 5.4.1 W3C的工作 5.4.2 应用 5.4.3 数据库、模式和DOM 5.5 小结 第6章 SAX 1.0: XML简易API 6.1 事件驱动接口 6.2 SAX的由来 6.3 SAX的高级特性 6.3.1 可选择...
随着PC机的普及,新一代的仿真器大多数都是利用PC机作为标准的输入输出装置,而仿真器本身成为微机和目标系统之间的接口而已,仿真方式也从初的机器码发展到汇编语言、C语言仿真,仿真环境也与PC机上的语言编程与...
Hadoop的由来和发展 Yahoo发现GFS和MapReduce的巨大潜力,将Doug Cutting招入公司,并成立了专门的团队 Nutch项目的分布式运算部分被单独剥离出来,成为Apache的一个子项目Hadoop Hadoop项目的名称来源于Doug ...