Python为什么叫Python,Java又如何而来?

你可能听过这样一种说法:在计算机科学领域,只有两件困难的事情,其中一件是给事物命名。有些编程语言的名字很有意义,比如谷歌(Google)将它的编程语言命名为Go(lang),而其他的名字——比如Python和Java——为什么要这么命名就不那么明显了。

在这篇文章里,让我们来一起探索一下最具标志性的编程语言的历史,以及它们的名字是如何得来的。

Python

Python起初是Guido van Rossum的一个“业余”编程项目,目的是让他在圣诞节期间有事可做。van Rossum希望这门语言有一个简短、独特且神秘的名字。如果你看到Python的“两条蛇”标志,可能会认为Python是以一种巨大的蟒蛇来命名的(它能把整条鳄鱼吞下)。

实际上,Guido是以70年代英国喜剧团体Monty Python’s Flying Circus的名字给它命名的。原来他是这个喜剧团体的超级粉丝,刚好那个时候他在看这个团体的剧本。

Python的“两条蛇”标志与它的名字的起源没有任何关系

Java

Java是20世纪90年代初Sun微系统公司作为Green项目的一部分而开发的。为这个项目开发一门新语言并不是他们的重点:开发Java是因为他们需要一种可以独立于处理器的语言,能够提供C++的大部分功能,同时更容易使用。成立这个绝密的Green团队是为了打造超越个人电脑的“下一波计算浪潮”,他们认为个人电脑应该是具有互动性的数字控制的消费电子产品(也就是“智能设备”的前身)。

Green团队的杰作:一个无线、全彩、触摸屏控制器,名字叫作Star7

Java最初以开发者窗户外面的一棵橡树来命名,叫作Oak。但是,Sun的律师说Oak已经被注册为商标,于是Green团队召开了一次头脑风暴会议,并想出了Java这个名字。他们希望这个名字可以反映这门语言的本质:“活力、革命性、活泼和有趣”。经过这场“持续疯狂”的头脑风暴,Java显然是一个完美的选择。

虽然Star7有点超前于时代,从未真正起飞,但它的编程语言却成功了——剩下的就是我们已经知道的历史了。

JavaScript

JavaScript是Brendan Eich于1995年在网景公司 (Navigator背后的公司,当时最流行的Web浏览器)开发出来的。那时,网页完全是静态的,但网景公司设想的是今天这种交互式的动态网页。由于来自微软IE浏览器的压力,他们聘请Eich将脚本语言集成到浏览器中。

网景公司希望创造一种简单易用的语言。借着Java蓬勃发展的势头,他们希望这门语言成为“Java的脚本伴侣”,就像Visual Basic是C/C++的伴侣一样。Eich强调开发速度和易用性,继承了Java的大部分语法,只用了10天就写出了JavaScript的第一个版本,名字叫作Mocha。

“我的任务是让它看起来像Java,但又不能太臃肿……它应该是一种小弟语言,对吧?Java的小伙伴”。——Brendan Eich

当这门语言第一次被集成到Netscape中时,它被叫作LiveScript。不久之后,网景公司就全身心投入到“Java伴侣”的开发当中。他们与Sun公司合作,将这门语言重命名为JavaScript,并与Java一起宣传JavaScript:JavaScript是一种脚本语言,用于在浏览器中执行小型的客户端任务,而Java则是一种更大、更专业的工具,用于开发丰富的Web组件。事实上,JavaScript这个名字的起源是网景公司试图与微软抗衡的一种营销策略。

C家族语言(C\C++\Objective-C\C#)

世界上第一门编程语言是Ada,这要归功于Ada Lovelace。不久之后就有了B语言,C语言的名字就是从B语言衍生而来的。C语言是由贝尔实验室的Dennis Ritchie开发的,被很多人认为是第一种高级编程语言。

C语言有很多扩展,包括C++、Objective-C和C#。C++和Objective-C的名字不言自明,而C#则不那么明显。C#的部分灵感来自音乐:一个尖锐的(#)音符意思是它应该在音调上提升半个音高。更有趣的是,#包含了4个+符号,2x2的正方形,完美地诠释了C#是C++的“增量”!

Swift

苹果公司从2010年开始开发Swift,并在四年后首次发布。因为Objective-C的影响力巨大,苹果公司便将Swift标榜为一种快速、易用和安全的设计。一开始,Swift的名字叫“Shiny”,就好像你正在构建一个“闪亮的东西”。实际上,它还用.shiny做过文件扩展名。

他们最终选用Swift这个名字来反映它的速度——在性能和开发速度方面。Swift的标志是一只与之同名的鸟:Swift是一种以速度和空中驻留能力著称的鸟类。

Swift的标志是一只同名的飞鸟

Haskell

Haskell是以逻辑学家Haskell Brooks Curry的名字命名的,他在组合逻辑方面的工作广为人知。事实上,有几种编程语言分别是以他全名当中的各个部分命名的:Haskell、Brook和Curry!柯里化(Currying)的概念也是以他的名字命名的。

Haskell的一个很少被讨论的地方是它的标志。你可能会注意到Haskell标志当中有个λ符号,这是对λ演算(lambda calculus)的一种赞颂。如果你更仔细看,会发现λ夹在“>”和“=”之间。这个来自Monads绑定操作符>>=。Haskell的标志是一个交织了λ的绑定操作符。

Haskell的标志是绑定操作符和lambda符号的组合

希望你喜欢了解编程语言的历史。我在研究这个故事的过程中获得了很多乐趣,因为我认为这些故事的起源非常有意思。

原文链接:

https://medium.com/better-programming/how-your-favorite-programming-languages-got-their-names-9916fe997f78

(0)

相关推荐