13 種程式語言名稱的來歷
可能程式設計師們都認為編寫程式碼時給變數取名是件煩人的事,不過他們還需要給另外一個東西取名,那就是新的程式語言。程式語言命名通常有幾個規律,如根據特性取縮寫(如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程式碼基礎上程式設計”,這個名字就不言而喻了。
via Network World
相關文章
- 語種名稱程式碼
- C語言程式設計規範——名稱縮寫C語言程式設計
- 接下來該學哪種程式語言
- 彭民德:《電子計算60年》 (13) 程式語言曾被人無端稱作計算機語言計算機
- 技術趣聞:十三種程式語言和它們名稱背後的故事
- 各種程式語言的適用場合-來自知乎
- 將會改變未來IT世界的十種程式語言
- C語言:一種高效、易學的程式語言C語言
- 是否有一種完美語言來終結“程式語言之爭”?
- 幽默:偏愛某種計算機語言的程式設計師簡稱計算機程式設計師
- 未來兩年你必須掌握的五種程式語言
- 20 種最奇怪的程式語言
- 5種將死的程式語言
- 我眼中的各種程式語言
- 12 種程式語言的起源故事
- Dice :這 5 種程式語言未來可能各自成王
- 哪種程式語言的開發者最幸福?
- 部署Go語言程式的N種方式Go
- 幾種常用程式語言的區別
- 漫畫:各種程式語言的困境
- 幾種程式語言的優缺點
- 你需要掌握的三種程式語言
- IT公司中最流行的10種程式語言
- 11 種程式語言的常用按鍵
- 哪種程式語言最流行?
- 如果程式語言是種武器
- Go 語言的演化歷程Go
- Go語言的演化歷程Go
- 哪種程式語言的影響力最大?
- 扯扯各種程式語言的吉祥物
- 連結器 ld 名稱的由來
- 標點符號的英語名稱符號
- 22種程式語言新年快樂
- 哪種程式語言最熱門?
- 256種程式語言大薈萃
- 假如女人是一種程式語言
- Github 程式語言分佈統計:JavaScript 稱霸GithubJavaScript
- 七週學會七種語言:學習程式語言的實用指南