Python 是電視劇,Java 是咖啡屋小甜心,程式語言都是如何命名的?

tech2ipo發表於2016-03-14

  開啟 TIOBE Index 世界程式語言排行榜,出現在榜單上的程式語言名稱多半都讓人一頭霧水。一些程式語言的作者會以「這種語言是什麼」來命名語言,比如 BASIC、COBOL、TCL、LISP;另一些語言則是由它從哪些現有語言派生而來命名,像是 C++,C#;當然還有一些來源於數學家或電腦科學家的名字,其中的代表則是 Ada,Pascal,Turing。

  但也有很多程式語言的名稱是編寫者隨便拍腦門和大腿瞎想出來的,這篇文章裡要講的這幾個就是如此。

 Python 不是大蟒蛇,是個 BBC 電視劇

Guido van Rossum

  Python 的創始人吉多 · 範羅蘇姆(Guido van Rossum)是個精力旺盛的逗比(就是上面圖裡這個人,我也想拍一張這樣的皁片!)。1982 年從阿姆斯特丹大學取得數學和電腦科學碩士學位後,他曾在多家科研機構工作,2005 至 2012 年他在 Google 工作了 7 年,之後又離職加入 Dropbox。這位現年 60 歲的荷蘭程式設計師在他 34 歲(1989 年)的聖誕節假期中設計出了風靡世界的程式語言 Python。雖然 Python 的原意是大蟒蛇,但創始人顯然不是想表明這種語言可以變成白娘子跟你在西湖相遇,關於 Python 的命名,吉多自己(在 1996 年時)的說法是這樣的:

  「六年前的 1989 年 12 月,我在尋找一門『課餘』程式設計專案來打發聖誕節前後的假期時光。假期裡我的辦公室關門,但我有一臺家用電腦。我決定為當時我正構思的一個新的指令碼語言寫一個直譯器,它是 ABC 語言的繼承,對 UNIX / C 程式設計師會有吸引力。作為一個略微有些奇怪想法的人和《蒙提 · 派森的飛行馬戲團》的狂熱愛好者,我選擇了 Python 作為專案的標題。」

  那麼問題來了,《蒙提 · 派森的飛行馬戲團》是啥?

  《蒙提 · 派森的飛行馬戲團》(Monty Python's Flying Circus)是英國的喜劇團體蒙提 · 派森創作的系列超現實主義電視喜劇,1969 年首次以電視短劇的形式在 BBC 電視訊道播出,共推出了 4 季共 45 集節目。隨後喜劇團體蒙提 · 派森的影響力從電視擴充套件到舞臺劇、電影、音樂專輯、音樂劇等,被外國媒體認為「在喜劇上的影響力相當於披頭士在音樂方面的影響」。他們六個人就長這樣:

喜劇團體蒙提 · 派森

  那麼問題又來了,《蒙提 · 派森的飛行馬戲團》這個電視劇的名字是怎麼來的?

  事實上,喜劇團體蒙提 · 派森取名的唯一評判標準就是聽起來是不是很滑稽。一種說法是在這個名字定下來之前他們嘗試過很多奇怪的名字,比如「貓頭鷹伸開翅膀的時候」「蟾蜍的升降力矩」「一匹馬」「勺子和桶」「回顧凡士林」「禿鷲」等等,直到 BBC 受不了了,表示「《蒙提 · 派森的飛行馬戲團》這個名字很滑稽!而且我們把它公佈出去了你們不許改了!!」名字才定下來。

  另一個成員說叫蒙提 · 派森(Monty Python)是喜劇團體的成員 Eric Idle 的主意,「Monty」這個名字是為了諷刺二戰傳奇將軍蒙哥馬利勳爵(Field Marshal Lord Montgomery)。他們要為這個名字找到一個聽上去比較圓滑的姓,因此選擇了「Python」。這個方案提出後,BBC 對於「Monty Python」這個名字的看法是:「對於一個低俗娛樂群體而言真是個完美的名字」。

  除去 Python,以流行文化命名的程式語言還有不少,比如 Frink Language 來自《辛普森一家》中的 Frink 教授:

  說回到 Python 這門語言,雖然名稱來源和本意都不是大蟒蛇,但公司還是採用了兩條盤在一起的蛇作為 logo,不得不說這兩條纏在一起的蛇真的好像是在交配……

 咖啡屋的小甜心 Java

 

  Java 在英語中直譯是著名咖啡產地「爪哇島」,程式語言 Java 的命名也與此有關。

  1990 年代初期,Sun Microsystems 公司正努力開發一種應用於電視機頂盒、鬧鐘、麵包機和微波爐的程式語言。這一專案在 Sun 公司內部被稱為 Green 專案,但公司創始人和前 CEO 詹姆斯 · 高斯林(James Gosling)一直認為應該為這種新語言取個名字。直到有一天,詹姆斯看到辦公室門口的一株橡樹(Oak),這種充滿生命力的綠色植物在矽谷隨處可見,詹姆斯決定將新語言命名為 Oak。由於當時智慧家電的市場需求並不太高,Sun 公司不久後就放棄了這項計劃。

  1994 年,網路的發展讓 Sun 公司認為全球資訊網未來大有可為,決定將 Oak 應用於應用於全球資訊網。但那時 Oak 已經被一家顯示卡製造商註冊了,詹姆斯只好要求公司市場部召開命名徵集會來命名這個新語言,將徵集來的名稱按照評選次序列成表提交給商標律師。

詹姆斯 · 高斯林

  關於取名的過程,詹姆斯曾經這樣告訴 Sun 公司現任總裁喬納森 · 施瓦茲(Jonathan Schwartz):

  「那天下午,我們大約十二人將自己鎖在房間中,命名顧問充當會議主持人讓我們寫出一些名字來挑選。我們最終寫出了大約十二個名稱,律師團選定了能排除其他名稱的候選項。Java 是列表中的第四個名稱,我最喜歡的是第三個名稱『Lyric』(抒情詩)。」

  會上排在第一位的名字是 Silk(絲綢),但這個名字遭到了詹姆斯的堅決反對。排名第二第三的名稱沒有通過律師的篩選,排在第四位的 Java 最終當選。

 據詹姆斯回憶,最先提出這個名字的人是馬克 · 奧普曼(Mark Opperman),靈感來源是在一家咖啡店與同事品嚐的爪哇島咖啡。爪哇島出產的阿拉比卡種咖啡香味清淡又沒有酸味,很多國外咖啡館都以 Java 來命名或宣傳以彰顯品質。Java 語言同樣看中了這種品質,以一杯飄著香氣的咖啡作為 Logo,還將 Java 語言中的很多庫類名稱以咖啡相關詞語命名,比如 NetBeans、JavaBeans、ObjectBeans 等等。

  另外,當使用十六進位制編輯器開啟由 Java 原始碼編譯出的二進位制檔案(.class 檔案)的時候,最前面的 32 位顯示為 CA FE BA BE,即為片語「CAFE BABE」(咖啡屋寶貝)。

  除了 Java Language,名稱同樣屬於食物類的語言還有 Pizza Language 等等。

 Lovelace 女士 是情色女星,也是女程式設計師

  洛夫萊斯(Lovelace)是個跟程式語言有著不解之緣的姓氏。至少有兩種程式語言以 Lovelace 女士的名字命名。較為知名的一個是 Ada Language,這種語言 1970 年代產生於美國國防部,最初目的是減少國防部使用的高階程式語言數量。Ada 的命名則是為了紀念埃達 · 洛夫萊斯(Ada Lovelace)女爵。

Ada Lovelace

  這位 Lovelace 女爵就是大名鼎鼎的英國詩人拜倫的女兒。和她父親一樣,Ada 在數學方面也有著極高的天賦。她曾花九個月時間翻譯義大利數學家路易吉 · 米納比亞講述查爾斯 · 巴貝奇計算機分析機的論文,並新增了許多註記來說明用該機器來計算伯努利數的方法。這種方法被認為是世界上第一個計算機程式,Ada 也被認為是世界上第一位女性程式設計師。

Linda Lovelace

  程式設計師 Ada Lovelace 女士逝世約 126 年後,耶魯大學的研究生大衛 · 格林特(David Gelernter)聽說了這個故事。當時他正考慮如何為自己編寫的一種程式語言的命名。格林特先生馬上想到了另一位 Lovelace 女士——他最喜歡的情色女星琳達 · 洛夫萊斯(Linda Lovelace)。格林特用 Linda 的名字命名了他的程式語言。

  以人名命名的程式語言很多,比如 Eiffel Language 得名於艾菲爾鐵塔的設計者居斯塔夫 · 艾菲爾(Gustave Eiffel),Hugo Language 則是以維克多 · 雨果(Victor Hugo)的名字命名。與藝術相關的命名也不少,比如 Oberon Language 的名字源於莎士比亞《仲夏夜之夢》中的國王,Miranda Language 則是莎士比亞《暴風雨》中的一個角色。Oz Language 的 Oz 來自《綠野仙蹤》(The Wizard of Oz),Malbolge Language 的 Malbolge 則是但丁《神曲》中地獄的第八層。

  十幾年後,有好事記者採訪格林特詢問他為什麼用 Linda 來命名程式,格林特只是淡淡地慫了慫肩膀:「哈哈哈哈哈哈當時我只是個研究生啊。」

相關文章