国际a级一级在线网_先锋影音中文无码资源_免费国产无码在线_十八禁九九精品视频

13個不同尋常的編程語言名稱背后的故事

2019-06-17 17:47:00
轉(zhuǎn)貼
4304

軟件開發(fā)中最難的一項任務(wù)可能就是“命名”了,給類,變量,函數(shù)命名。相比而言,當(dāng)一個新的語言被創(chuàng)造出來,想一個好的名稱更不容易。


有時候,語言的創(chuàng)造者們在選擇名字的時候非常有創(chuàng)意,今天就來聊一聊13個不同尋常的編程語言名稱背后的故事。


Python



這是荷蘭人Guido van Rossum 于上世紀(jì)80年代末設(shè)計的一個語言,現(xiàn)在非常流行,Van Rossum 在起名的時候,想要一些“短的、獨特的、有點神秘色彩的”東西,他是英國著名戲劇團(tuán)體Monty Python超級粉絲, 就從中找到了靈感,用Python命名了這門新語言。


其實Monty Python劇團(tuán)有個著名的戲劇叫做Dead Parrot, 似乎沒有消息說他想用這個名字來命名新語言。


JAVA



上世紀(jì)90年代初,Sun預(yù)感到智能家居設(shè)備(如互動TV)的浪潮即將來臨,他們開發(fā)了一個叫Oak的語言,但是Sun的律師確定這個名字的商標(biāo)已經(jīng)被注冊,他們只好選個新名字,經(jīng)過一系列的會議,大家想了很多名字,經(jīng)過律師的“過濾”,只剩下了三個Silk, DNA , Java。


不知道是誰第一個建議使用Java, 但是大家普遍認(rèn)為靈感來自于Sun的工程師常去一個咖啡店:Pete’s Coffee,因為Java是印度尼西亞的爪哇島,那里盛產(chǎn)咖啡。


Forth



Forth 是Charles Moore在上世紀(jì)60年代設(shè)計的一個古老語言, 當(dāng)時他在一個家裝公司工作,公司給它提供了一臺IBM 1130 微型計算機(jī),還帶著一個2250顯示卡,公司想讓他用電腦來設(shè)計地毯!


Moore最初想使用FORTRAN, 但這個語言沒法使用2250 顯卡。他只好發(fā)明了一個新語言,叫做Fourth ,意思是第四代編程語言。 可是1130計算機(jī)要求文件名不能超過5個字符, 于是他只好把u給踢了出去,變成了Forth。

Perl



Perl 被譽(yù)為瑞士軍刀,功能強(qiáng)大而靈活,是由Larry Wall上世紀(jì)80年代發(fā)明的。Larry想要一個短的,有“內(nèi)涵的”名稱,他曾經(jīng)考慮了妻子的名字Gloria, 后來還是選擇了pearl(珍珠)。


悲催的是同名的語言已經(jīng)存在了,于是他就把A去掉,最終變成了perl 。注意最初名稱是全小寫的,直到1993年 Perl4發(fā)布的時候,才變成首字母大寫。


Lua



Lua 是巴西的一個大學(xué)所發(fā)明的,它基于兩個語言:DEL(Date Entry Language)和SOL(Simple Object Language)。 新語言把兩個語言的優(yōu)點都結(jié)合了起來。


Sol在葡萄牙語中的意思是太陽, 那新的語言就叫做月亮: Lua。


Smalltalk



Smalltalk是一個面向?qū)ο蟮恼Z言,由施樂帕洛?阿爾托研究中心發(fā)明,這門語言給Java,Python,Ruby等很多后來者帶來了巨大影響。


Alan Kay的小組發(fā)明了Smalltalk,正如他所說,這一名字的選取是針鋒相對于“印歐神靈理論”的,該理論中任何系統(tǒng)都會被賦予一個它們永遠(yuǎn)無法企及的、類似于神靈的名字,例如宙斯(與天神同名)和索爾(與雷神同名)。相反地,他選擇了一個超級平淡無奇的名字,Smalltalk,以杜絕招致任何過高的期望值。


Logo



這是MIT開發(fā)的一個用于教育的一門語言,作為LISP的一個方言,可以用來教授很多的編程概念,它也影響了很多后來的致力于教育的編程語言,例如Scratch。


Logo編程時有個小海龜,可以根據(jù)用戶的指令來畫圖。


Logo來源于logos, 在希臘語中意思是“詞”或者“思想”, 這個名稱和那些面向數(shù)字的編程語言區(qū)分開了。


Ruby



Ruby 由日本人Yukihiro Matsumoto(“Matz”)開發(fā),這是個面向?qū)ο蟮哪_本語言。


類似Perl,Matz想要一個寶石作為語言的名稱,經(jīng)過和同事討論后,Coral和Ruby 被留在了最后的名單內(nèi)。 Matz選擇了Ruby , 這是大有深意的,根據(jù)歐美“誕生石(Birthstone)”的傳統(tǒng),每個星座都有誕生石。 其中7月的誕生石是ruby,6月的是pearl(對應(yīng)的語言就是LarryWall發(fā)明的perl)。


Matz可不僅僅是想讓Ruby成為Perl的后繼,而是想替代它。

Scheme

上世紀(jì)50年代,John McCathy在MIT發(fā)明了Lisp,這是最早的高級編程語言之一,并且很快變成了人工智能研究者的最愛。


隨著時間的推移,很多LISP的方言被開發(fā)出來,其中的兩個是Planner和Conniver。


1975年,MIT的Gerald Jay Sussman和Guy Steele 又開了一個Lisp的新方言(方言真多?。?,他們把它稱為Schemer,Schemer使用了Planner和Conniver的命名規(guī)范。然而,這個語言跑在一個MIT開發(fā)的叫做ITS的操作系統(tǒng)上,它的文件名支持兩個部分,每個部分都只能有6個字符,于是Schemer只好縮水,變成Scheme。


Scala



Scala是個年輕的語言,2001年由Martin Odersky創(chuàng)建,這是一個既支持函數(shù)式編程又支持面向?qū)ο缶幊痰恼Z言。 被編譯以后,它成為了Java字節(jié)碼,在JVM中運行(之前,Scala可以被編譯成.NET的中間代碼來執(zhí)行)。


選擇Scala作為名稱有兩個原因: 首先它表示SCAlable LAN這兩個詞的組合,其次在意大利語中表示樓梯或者梯子,這就暗含著Scala要幫助你不斷上升,成為更好的編程語言。


Scratch



又是一個MIT開發(fā)的面向孩子的編程語言!


孩子們可以通過可視化的形式來操作屏幕上的“精靈”,從而創(chuàng)造一些故事,小電影,游戲,音樂以及他們夢想創(chuàng)造的任何東西。


這個語言的名字來源于嘻哈音樂DJ,他們會通過手動旋轉(zhuǎn)和刮擦(scratching)唱機(jī)上的黑膠唱盤來創(chuàng)造新的聲音和音樂。


AWK



使用過Unix都會對AWK很熟悉,這是一個腳本語言用來處理文本文件, 1977當(dāng)它被開發(fā)出來的時候主要是想做一個grep 工具的一個更加通用的版本。AWK對Larry Wall設(shè)計Perl產(chǎn)生了重要的影響。


和很多編程語言的名稱類似,AWK也是一種縮寫,但是這個縮寫不是表示語言能做什么,相反,它是三個來自于貝爾實驗室的發(fā)明人的名稱: Alfred Aho, Peter Weinberger 和Brian Kernighan。


Groovy



2003年,一個叫James的Java程序員想要一個像Python 和Ruby 的腳本語言, 但是要運行在JVM中。


他的解決方案就是設(shè)計一個新的語言,能夠動態(tài)地編譯成Java 字節(jié)碼。用他自己的話來說:“我更期待一種(僅僅)建立在那些精妙的Java代碼和JVM之上的動態(tài)語言(精妙-Groovy)。”


關(guān)注智慧山微信公眾號(zhihuishan2013)后,在公眾號里回復(fù)以下關(guān)鍵字,即可得到相應(yīng)資源!

公開課、作文、復(fù)習(xí)、試卷、知識點、活動、拼音、字母、鐘表、看圖寫話、故事、雙語故事、成語、常識、APP、語文、數(shù)學(xué)、英語、百家姓、三字經(jīng)、唐詩三百首、自助查詢、超級口算

    發(fā)表評論
    評論通過審核之后才會顯示。
    分類
      智慧山服務(wù)號
      小碼龍
    移動訪問