要是沒有上過Python課程,我會一直以為它的意思是從大蟒蛇來的,結果沒想到竟然是電視劇啊!
打開 TIOBE Index 世界程式設計語言排行榜,出現在榜單上的程式語言名稱多半都讓人一頭霧水。一些程式語言的作者會以「這種語言是什麼」來命名語言,比如 BASIC、COBOL、TCL、LISP;另一些語言則是由它從哪些現有語言派生而來命名,像是 C++,C#;當然還有一些來源於數學家或電腦科學家的名字,其中的代表則是 Ada,Pascal,Turing。
但也有很多程式語言的名稱是編寫者隨便拍腦門和大腿瞎想出來的,這篇文章裡要講的這幾個就是如此。
Python:不是大蟒蛇,是個 BBC 電視劇
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 集節目。隨後喜劇團體蒙提 · 派森的影響力從電視擴展到舞臺劇、電影、音樂專輯、音樂劇等,被外國媒體認為「在喜劇上的影響力相當於披頭士在音樂方面的影響」。
除去 Python,以流行文化命名的程式語言還有不少,比如 Frink Language 來自《辛普森一家》中的 Frink 教授。
說回到 Python 這門語言,雖然名稱來源和本意都不是大蟒蛇,但公司還是採用了兩條盤在一起的蛇作為 logo。
Java:咖啡屋的小甜心
Java 在英語中直譯是著名咖啡產地「爪哇島」,程式語言 Java 的命名也與此有關。
1990 年代初期,Sun Microsystems 公司正努力開發一種應用於電視機上盒、鬧鐘、麵包機和微波爐的程式語言。這一項目在 Sun 公司內部被稱為 Green 專案,但公司創辦人和前 CEO 詹姆斯 · 高斯林(James Gosling)一直認為應該為這種新語言取個名字。
直到有一天,詹姆斯看到辦公室門口的一株橡樹(Oak),這種充滿生命力的綠色植物在矽谷隨處可見,詹姆斯決定將新語言命名為 Oak。由於當時智慧家電的市場需求並不太高,Sun 公司不久後就放棄了這項計畫。
1994 年,網路的發展讓 Sun 公司認為www.未來大有可為,決定將 Oak 應用於www.。但那時 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)是個跟程式語言有著不解之緣的姓氏。至少有兩種程式語言以 Lovelace 女士的名字命名。較為知名的一個是 Ada Language,這種語言 1970 年代產生於美國國防部,最初目的是減少國防部使用的高級程式設計語言數量。Ada 的命名則是為了紀念艾達 · 洛夫萊斯(Ada Lovelace)女爵。這位 Lovelace 女爵就是大名鼎鼎的英國詩人拜倫的女兒。和她父親一樣,Ada 在數學方面也有著極高的天賦。她曾花九個月時間翻譯義大利數學家路易吉 · 米納比亞講述查理斯 · 巴貝奇(Charles Babbage)電腦分析機的論文,並添加了許多注記來說明用該機器來計算伯努利數的方法。這種方法被認為是世界上第一個電腦程式,Ada 也被認為是世界上第一位女性工程師。
工程師 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 來命名程式,格林特只是淡淡地慫了慫肩膀:「哈哈哈哈哈哈當時我只是個研究生啊。」
相關連結:
Java課程的第一課-Java為何被取名為可以喝的Java咖啡?
達內教育評價事件-的新發現!不能100%相信搜尋引擎
Python課程-人工智慧學院
達內IT教育來台設點,媒合學員就業!