原文出處: ? pokercopilot ???譯文出處: ? oschina
?
我腦子里經(jīng)常會(huì)縈繞一些很無聊的小問題,其中一個(gè)就是,這么多的編程語言的名字都是怎么出來的?讓我們來給它們歸歸類。
?
來自無聊的首字母縮略/簡寫
?
這一類別中包括BASIC語言,它來自精心設(shè)計(jì)的“ Beginner’s All-purpose Symbolic Instruction Code ”。Fortran語言來自? For mula? Tran slation —— 一種糟糕透頂?shù)恼Z言命名方式,但我可以原諒它,因?yàn)樗赡苁亲罟爬系囊环N高級計(jì)算機(jī)編程語言。LISP語言也類似,只有搞技術(shù)的人才想得出的命名方法,取自? Lis t? P rocessing。
?
Perl語言這幾個(gè)字母字面上是意思是 Practical Extraction and Report Language。這是一種在互聯(lián)網(wǎng)早期盛極一時(shí)的編程語言。Perl語言中方便的字符串操作使得它很適合處理URL相關(guān)、處理HTML的程序。
?
為創(chuàng)造市場宣傳效果而命名
?
我最喜歡的通用語言,Java,最初叫做Oak,然后改成Green。Java這個(gè)名字是最終的選擇,之后又由此產(chǎn)生了一系列跟咖啡豆相關(guān)的產(chǎn)品名稱。我 想,從Green改名為Java是一個(gè)很有必要的市場策略。JavaScript的名字也從Java天花亂墜的廣告宣傳中沾光,盡管它跟Java實(shí)際上沒 有多大關(guān)系。
?
Ruby,Smalltalk,和Python的取名全都屬于這一類。 Python尤其明顯 :
?
Python的名字來自于BBC的70年代的一個(gè)動(dòng)漫劇《Monty Python’s Flying Circus》。語言設(shè)計(jì)者想給這個(gè)語言取一個(gè)短的、獨(dú)特的、有點(diǎn)神秘的名字。因?yàn)樗麑@個(gè)動(dòng)漫劇很著迷,他認(rèn)為這個(gè)名字非常棒。
?
只有程序員才能理解的名字
?
很久很久以前,有一種語言叫做BCPL(Basic Combined Programming Language)。這種語言一個(gè)輕量級的版本叫做B語言。當(dāng)Dennis Ritchie基于B語言設(shè)計(jì)出了一種新語言后,他把它稱作C語言。這是因?yàn)樗芟馚,但比B好。在C語言中,兩個(gè)加號放到一起(++)意思是把一個(gè)值加 一。于是,C語言的后繼者就成了C++(很像C,但更好)。C++的修訂版變成了 D 語言。C語言的另外一個(gè)修訂版叫C#(這種語言更應(yīng)該感謝的是Java)——在音樂符中比C要高半個(gè)音程。
?
以數(shù)學(xué)家名稱命名的語言
?
Pascal的名字來源于17世紀(jì)法國著名的數(shù)學(xué)家Blaise Pascal。
?
查爾斯-巴貝奇,一個(gè)18世紀(jì)數(shù)學(xué)家,他設(shè)計(jì)(但從未實(shí)現(xiàn))了一個(gè)簡單的可編程計(jì)算機(jī),叫做“the Difference Engine”,因此以他的名稱命名了一種編程語言叫做Babbage。拜倫勛爵的女兒Ada Lovelace跟巴貝奇一起共事,她為“the Difference Engine”計(jì)算機(jī)設(shè)計(jì)了一套程序。這被認(rèn)為是歷史上第一計(jì)算機(jī)程序——盡管她從來沒有運(yùn)行過它,debug過它,或給它設(shè)計(jì)一個(gè)漂亮的用戶界面。美國 國防部提議以她的名字命名了一種編程語言,這就是Ada語言。
?
Haskell語言和Curry語言的名字都來自于20世紀(jì)美國數(shù)學(xué)家 Haskell Curry。他的姓氏還被采用為’currying’編程技術(shù)——把有兩個(gè)參數(shù)的函數(shù)轉(zhuǎn)變成一個(gè)只有一個(gè)參數(shù)的函數(shù),第二個(gè)參數(shù)變成固定值。只有 Haskell Curry自己經(jīng)常用這個(gè)概念。這個(gè)概念實(shí)際上是來源于Moses Sch?nfinkel,但事實(shí)上,如果說’currying’聽起來有點(diǎn)傻,那’Sch?nfinkelisation’就有點(diǎn)荒唐了。
?
以SQ明星名字命名的編程語言
?
現(xiàn)在我要說的就是有史以來最出色的編程語言名字。這也是這篇文章真正的目的。我在大學(xué)里學(xué)了一點(diǎn)Linda語言,這是一種通常被當(dāng)作一種“語言里的語言”,用來做并行處理。很多年后我才知道Linda這個(gè)名字來自于SQ明星 Linda Lovelace 。我想可能是語言設(shè)計(jì)者搞出的一個(gè)小笑話,或是對Ada的某種隱喻。我花了整堂計(jì)算機(jī)課琢磨這個(gè)問題。
?
據(jù)我所知,Linda是唯一一個(gè)以SQ明星命名的計(jì)算機(jī)語言。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
