鄭州北大青鳥告訴你:13種編程語言名稱的來歷!可能程序員們都認(rèn)為編寫代碼時給變量取名是件煩人的事,不過他們還需要給另外一個東西取名, 那就是新的編程語言。
今天小青就想和大家分享下編程語言命名通常有幾個規(guī)律,如根據(jù)特性取縮寫(如BASIC,COBOL,TCL和LISP),以已有的語言為基礎(chǔ)(如 C++,C#和CoffeeScript),或直接是數(shù)學(xué)和計算機領(lǐng)域杰出人物的名字(如Ada,Pascal和Turing)。有時,設(shè)計者取名時更充 滿想象力。下面是13個意味深長的名字,以及它們背后的故事。
Python
于 20世紀(jì)80年代末,由Guido van Rossum發(fā)明,初衷據(jù)說是為了打發(fā)圣誕節(jié)的無趣,1991年首次發(fā)布,是ABC語言的繼承,同時也是一種腳本語言,目前已經(jīng)很流行。取名 時,Guido van Rossum認(rèn)為它應(yīng)該“短小,獨特,還有一點神秘感”,他是英國著名劇團Monty Python的忠實粉絲,所以就是Python了。
Java
于20世紀(jì)90年代初期誕生,源自Sun公司的智能家電程序開 發(fā),如互動電視。最初名為Oak,不過Sun公司的律師發(fā)現(xiàn)這個名字已經(jīng)被注冊。通過一系列的會議,公司從一個包含有Silk,DNA和Java的名單中 選擇了它。是誰第一個建議使用Java這個名字的不得而知,不過普遍猜測是靈感來自Peet咖啡店,因為Sun公司的工程師們很喜歡到這里喝咖啡。
Forth
于20世紀(jì)60年代,由Charles Moore創(chuàng)造。1968年Charles Moore在一家名為Mohasco的家裝公司工作,只有一臺最多2250圖形顯示點數(shù)的IBM1130微型計算機,不過卻要用它來設(shè)計地毯,而FORTRAN卻不能滿足要求,所以他發(fā)明了Forth。最初其名為Fourth,不巧,IBM1130最多支持5個字符的文件名,“u”去而“Forth”生。
Perl
被 譽為“瑞士軍刀”,以靈活性和高效性著稱,于20世界80年代由Larry Wall發(fā)明。Larry Wall的構(gòu)思是這個名字應(yīng)該短,并充滿正面意味。想到pearl前,他還考慮過他妻子的名字Gloria。不過已經(jīng)有一種語言叫PEARL,所以去掉了 pearl中的"a"。值得一提的是,這個名字一直都是小寫,受Unix文件系統(tǒng)都是區(qū)分大小寫的影響,1991年P(guān)erl 4發(fā)布時,Larry Wall將首字母改為大寫。
Lua
于1993年,由TeCGraf開發(fā)完成,是一種腳本語言。該語言由DEL和SOL開發(fā)而來,結(jié)合了兩者的優(yōu)點,并增加了了流控制等函數(shù)特性,可謂是它們的孩子。葡萄牙語中,sol意為”太陽”,而lua意為“月亮”。
Smalltalk
于 20世紀(jì)70年代早期,首次由Xerox PARC開發(fā),是是面向?qū)ο箢愋驼Z言的一員,后來的Java, Python和Ruby中都能見到其影子。優(yōu)化后,參與開發(fā)者Alan Kay對其命名時表示應(yīng)該遵從名字看起來好看的語言,如“Zus”和“Thor”都不長命,這種規(guī)律。所以,就取了“Smalltalk”這個平平的名 字。
Logo
于20世紀(jì)60年代,是由Daniel G. Bobrow, Wally Feurzeig, Seymour Papert 和Cynthia Solomon設(shè)計的一種教學(xué)式語言,也是一種Lisp方言,為教學(xué)過程中介紹大量程序設(shè)計概念提供了便利,對后來的教學(xué)式編程語具有深厚的影響,如 Scratch。這種語言的一個重要特征就是 “海龜繪圖”系統(tǒng)。其名源自“logos”,希臘語中意為“單詞”或“思想”,以區(qū)別于傳統(tǒng)的編程語言。
Ruby
于1993年,由Yukihiro MatsuMOTO(“Matz”) 開發(fā)完成,是名副其實的面向?qū)ο蟮哪_本語言,與Perl和Python比肩。Matz希望同Perl一樣,為它取一個寶石的名字。與同事Keiju Iahitsuka在許多名字中篩選后,剩下Coral和Ruby。最終選擇Ruby是因為,Perl的發(fā)音與6月的誕生石pearl(珍珠)相 同,Ruby選擇以7月的誕生石ruby(紅寶石)命名,Matz認(rèn)為Ruby不只甘做Perl(Matz認(rèn)為其是“玩具語言”)的后繼者,而是要替代它。
Scheme
20 世紀(jì)50年代末,John McCarthy在MIT開發(fā)了最早的高級編程語言,Lisp。它迅速成為了人工智能研究領(lǐng)域的首選。隨后,許多Lisp方言相繼誕生,如Planner 和Conniver。1975年,Gerald Jay Sussman同MIT的Guy Steele聯(lián)合開發(fā)完成了另外一種Lisp方言,并根據(jù)Planner和Conniver的取名方式,命名為Schemer。同是不巧,當(dāng)在MIT開發(fā) 的ITS操作系統(tǒng)上運行時,這種系統(tǒng)最多支持六個字符的文件名,所就改為了Scheme。
Scala
于2001年,由 Martin Odersky開發(fā)完成,既是一種函數(shù)式編程語言,也具有面向?qū)ο蟮奶匦,運行于Java平臺(早期有.NET平臺的實現(xiàn))。其名Scala的得來有兩個 原因:SCAlable LAN兩個單詞相結(jié)合;意大利語中 scala意為“梯子”或“樓梯”,蘊含“更佳的編程語言”。
Scratch
第一版 Scratch 由麻省理工學(xué)院媒體實驗室終身幼稚園組在2006年研發(fā)出來,是一種教學(xué)式語言。兒童可以通過拖拽電腦屏幕上的程序模塊完成程序設(shè)計序。它可以用以創(chuàng)作小說,電影,游戲,音樂等等,幾乎你能想到的它都能辦到。其名源自打碟的聲音。
AWK
如 果使用過Unix系統(tǒng),AWK對你來說可能再熟悉不過了。它于1997年開發(fā)完成,是用以處理文本文件的解釋性語言,同時也是Linux及Unix環(huán)境中 現(xiàn)有的功能最強大的數(shù)據(jù)處理引擎之一。Larry Wall開發(fā)Perl時深受其影響。AWK這個名字同許多語言名字一樣,也是縮寫,不同的是,這三個字母是其發(fā)明這的名字首字母,貝爾實驗室的 Alfred Aho,Peter Weinberger和 Brian Kernighan(上圖)。
Groovy
2003 年,Java程序員James Strachan需要這樣一種腳本語言:同Python和Ruby相似,但又卻能在Java平臺上運行。于是發(fā)明了Groovy。它能動態(tài)編譯為Java 字節(jié)碼。正如James Strachen 所說的那樣,“在絕妙的(groovy)Java代碼基礎(chǔ)上編程”,這個名字就不言而喻了。
滿滿的干貨有木有,趕緊吸納一下。