转, 原文: http://jandan.net/2014/03/23/programming-languages.html

-----------------------------------------------------------------------------------------------------------------

可能程序员们都认为编写代码时给变量取名是件烦人的事,不过他们还需要给另外一个东西取名,那就是新的编程语言。编程语言命名通常有几个规律,如根据特性取缩写(如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代码基础上编程”,这个名字就不言而喻了。

13种编程语言名称的来历相关推荐

  1. python创意爱情代码-13种编程语言的命名创意,非常有趣!

    原标题:13种编程语言的命名创意,非常有趣! 编程语言的名称通常都很公式化和枯燥,但有些并不是.下面这13种编程语言的命名背后都有一段有趣的故事,一起来看看吧! 1. Python 这是荷兰人Guid ...

  2. 跑了 13 种编程语言的 Hello World,可视化后有了新发现!

    作者 | Nia Catlin    译者 | 弯月 出品 | CSDN(ID:CSDNnews) 在本文中,我们将针对 13 种不同语言编写的"Hello World"演示程序, ...

  3. 十三种编程语言和它们名称背后的故事!

    编程语言的名称通常既公式化又枯燥无聊,但其中也不乏一些令人眼前一亮的字眼.在今天的文章中,我们将一同了解编程语言名称背后的那些创意与灵感. 海风教育在线辅导0元一对一试听课等你来领取,领取课程方法: ...

  4. 程序员的噩梦:世界上最难的5种编程语言

    导读:每个程序员都熟悉许多编程语言.许多编程语言都是高级的,它们的语法是人类可读的.然而,也有一些低级语言,对于一个人来说,读起来很困难,但是可以理解.您是否遇到过一种既不可读又不可理解的编程语言? ...

  5. 世界上最难的5种编程语言

    世界上最难的5种编程语言 每个程序员都熟悉许多编程语言.许多编程语言都是高级的,它们的语法是人类可读的.然而,也有一些低级语言,对于一个人来说,读起来很困难,但是可以理解.然而,您是否遇到过一种既不可 ...

  6. 编程语言名称背后的有趣故事

    软件开发中最难的一项任务可能就是"命名"了,给类,变量,函数命名. 相比而言,当一个新的语言被创造出来,想一个好的名称更不容易. 海风教育在线辅导0元一对一试听课等你来领取,领取课 ...

  7. 12 种编程语言的起源故事

    过去的几十年间,大量的编程语言被发明.被替换.被修改或组合在一起.每种语言总在争论中诞生,又在进化中消亡.而这些语言的的创造者,无一不是编程世界中的标志性人物,高举探索的旗帜不断前行.敬仰之情促使了这 ...

  8. 测试 C、Python、Java 等 16 种编程语言的 Hello World:7 种存在 Bug?

    译者 | 张洁 责编 | 屠敏 出品 | 程序人生 (ID:coder _life) Hello World 可能是最常用的计算机程序.几十年来,许多人在开始使用新的编程语言时,编写的第一个程序通常是 ...

  9. (转) 假如女人是一种编程语言

    计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来执行.而二进制就是0和1,假设1代表男人,0代表女人,那么瞬间就可 ...

最新文章

  1. L3-002 特殊堆栈
  2. modelsim的工程仿真流程--2
  3. 实操将TensorFlow模型部署成Docker服务化
  4. C/C++写无控制台窗口程序
  5. 1142 Maximal Clique (25 分)【难度: 一般 / 知识点: 模拟】
  6. java中ThreadLocal的使用
  7. 周末之个人杂想(四)
  8. mysql讀取sql_MySQL数据库之python json及mysql读取json文件存sql等问题
  9. SQL Server高级查询之数据查询和操作(DDL和DML)
  10. Joomla模板制作教程(转)
  11. Linux Shell 实现网页爬虫
  12. 前IBM人工智能科学家为你解读AI行业的三大核心素养
  13. 互联网晚报 |11/24 星期四 | 比亚迪涨价2000到6000元不等;苹果15或告别纯直边;星巴克回应0.01元抢券不兑换...
  14. PAT A1038 Recover the Smallest Number ——醉里挑灯看剑
  15. Linux下使用 ./ 来运行可执行文件
  16. LFI/RFI漏洞相关
  17. 阵阵的挫败感,让我痛苦迷茫
  18. python 更新程序_python业务更新程序
  19. 凹凸贴图(Bump Mapping)
  20. 基于python的web框架Flask实现SDEAM游戏商城设计 文档+前后台源码

热门文章

  1. Spring Cloud Gateway CORS 方案看这篇就够了
  2. 读 MySQL 源码再看 INSERT 加锁流程
  3. 面试官:说说RabbitMQ 消费端限流、TTL、死信队列
  4. 服务运行一段时间,redis缓存就不可用,原来是这个锅!
  5. 比 Spring Boot 快 10 倍的 Bootique 框架
  6. Linus 谈 Git 的设计思想,顺带骂了一堆人(视频)
  7. 两小时入门 Docker
  8. 人工智能领域的经典著作!
  9. 超全!CS 顶会历届最佳论文大列表,机器学习、深度学习一应俱全!
  10. 深度学习笔记之《解析卷积神经网络》附下载地址