有史以來最出彩的程式語言名字 - OSCHINA - 中文開源技術交流社區

2020-12-25 開源中國

我腦子裡經常會縈繞一些很無聊的小問題,其中一個就是,這麼多的程式語言的名字都是怎麼出來的?讓我們來給它們歸歸類。

來自無聊的首字母縮略/簡寫

這一類別中包括BASIC語言,它來自精心設計的「Beginner’s All-purpose Symbolic Instruction Code」。Fortran語言來自 Formula Translation —— 一種糟糕透頂的語言命名方式,但我可以原諒它,因為它可能是最古老的一種高級計算機程式語言。LISP語言也類似,只有搞技術的人才想得出的命名方法,取自 List Processing。

Perl語言這幾個字母字面上是意思是 Practical Extraction and Report Language。這是一種在網際網路早期盛極一時的程式語言。Perl語言中方便的字符串操作使得它很適合處理URL相關、處理HTML的程序。

為創造市場宣傳效果而命名

我 最喜歡的通用語言,Java,最初叫做Oak,然後改成Green。Java這個名字是最終的選擇,之後又由此產生了一系列跟咖啡豆相關的產品名稱。我 想,從Green改名為Java是一個很有必要的市場策略。JavaScript的名字也從Java天花亂墜的廣告宣傳中沾光,儘管它跟Java實際上沒 有多大關係。

Ruby,Smalltalk,和Python的取名全都屬於這一類。Python尤其明顯:

Python的名字來自於BBC的70年代的一個動漫劇《Monty Python’s Flying Circus》。語言設計者想給這個語言取一個短的、獨特的、有點神秘的名字。因為他對這個動漫劇很著迷,他認為這個名字非常棒。

只有程式設計師才能理解的名字

很 久很久以前,有一種語言叫做BCPL(Basic Combined Programming Language)。這種語言一個輕量級的版本叫做B語言。當Dennis Ritchie基於B語言設計出了一種新語言後,他把它稱作C語言。這是因為它很像B,但比B好。在C語言中,兩個加號放到一起(++)意思是把一個值加 一。於是,C語言的後繼者就成了C++(很像C,但更好)。C++的修訂版變成了D語言。C語言的另外一個修訂版叫C#(這種語言更應該感謝的是Java)——在音樂符中比C要高半個音程。

世界上第一臺可編程計算機

以數學家名稱命名的語言

查爾斯-巴貝奇

Pascal的名字來源於17世紀法國著名的數學家Blaise Pascal。

查 爾斯-巴貝奇,一個18世紀數學家,他設計(但從未實現)了一個簡單的可編程計算機,叫做「the Difference Engine」,因此以他的名稱命名了一種程式語言叫做Babbage。拜倫勳爵的女兒Ada Lovelace跟巴貝奇一起共事,她為「the Difference Engine」計算機設計了一套程序。這被認為是歷史上第一電腦程式——儘管她從來沒有運行過它,debug過它,或給它設計一個漂亮的用戶界面。美國 國防部提議以她的名字命名了一種程式語言,這就是Ada語言。

Haskell語言和Curry語言的名字都來自於20世紀美國數學家 Haskell Curry。他的姓氏還被採用為』currying』編程技術——把有兩個參數的函數轉變成一個只有一個參數的函數,第二個參數變成固定值。只有 Haskell Curry自己經常用這個概念。這個概念實際上是來源於Moses Schönfinkel,但事實上,如果說』currying』聽起來有點傻,那』Schönfinkelisation』就有點荒唐了。

以色情明星名字命名的程式語言

現在我要說的就是有史以來最出色的程式語言名字。這也是這篇文章真正的目的。我在大學裡學了一點Linda語言,這是一種通常被當作一種「語言裡的語言」,用來做並行處理。很多年後我才知道Linda這個名字來自於色情明星Linda Lovelace。我想可能是語言設計者搞出的一個小笑話,或是對Ada的某種隱喻。我花了整堂計算機課琢磨這個問題。

據我所知,Linda是唯一一個以色情明星命名的計算機語言。

相關焦點

  • 關於編程裡的那些 ABCDEFG - OSCHINA - 中文開源技術交流社區
    它是一款開源 JavaScript 函式庫,由 Google 和它的社區來維護,用來協助單一頁面應用程式運行的。它的目標是透過 MVC模式(Model-View-Controller)功能增強基於瀏覽器的應用,使開發和測試變得更容易。函式庫讀取包含附加自定義(標籤屬性)的 HTML,遵從這些自定義屬性中的指令,並將頁面中的輸入或輸出與由 JavaScript 變量表示的模型綁定起來。
  • Web 是開源最大的成功 - OSCHINA - 中文開源技術交流社區
    開源運動廣受歡迎,並且在軟體開發史上寫下了濃重一筆。但是它影響最深遠的地方在哪呢?有史以來,最成功的開源「項目」又是什麼呢? 事實上,總體來看,Web不就是開源運動最大的成功麼? 可能最有名的例子就是隱藏域眾多網站背後的LAMP,也就是Linux、Apache、MySQL和PHP。
  • Delta Lake 進入 Linux 基金會 - OSCHINA - 中文開源技術交流社區
    「將 Delta Lake 引入 Linux 基金會的中立組織之下,將有助於依賴該項目的開源社區開發解決存儲和處理大數據(本地和雲端)的技術」,Linux 基金會戰略計劃副總裁 Michael Dolan 表示。
  • 開源社區的「忌諱」話題 - OSCHINA - 中文開源技術交流社區
    加拿大資深開源技術記者Bruce Byfield較早前發表了一篇名為「開源社區從來不想承認的九大事實」(9 Things That Are Never Admitted About Open
  • 程式設計師必知 —— 程式語言創始人 - OSCHINA - 中文開源技術交流社區
    IT江湖根據TIOBE 程式語言排行榜(2015年4月)來介紹程式語言創始人,我們感謝這些人,為我們提供這些優秀的程式語言。
  • 程式語言新寵兒 — Julia 誕生記 - OSCHINA - 中文開源技術交流社區
    讓我們來一同走進它:為什麼要創建Julia程式語言?用一句話來說,因為我們求知若渴、不斷追求。我們需要有一門開源語言,這門語言在行業內是被公認許可的(基於許可證情況下)。我們希望這門語言能夠有C語言一樣的速度,Ruby一樣得活力(dynamism)。我們需要像homoiconic一樣的語言,它像Lisp一樣有宏,但是也像Matlab一樣有顯而易見、熟悉的數學標記。
  • 如何在 2020 年用 Java 安全編程 - OSCHINA - 中文開源技術交流社區
    他在文中表示,儘管目前 Java 的安全性相較於一些舊的語言(特別是 C 和 C ++)而言有所長進,但是使用 Java 編寫的代碼的漏洞級別還是取決於程式設計師遵循的最佳實踐。在當今的開發環境中更是如此,各種新的安全性技術、黑客技術以及新穎的存儲和加密形式,意味著許多人都在質疑著 Java 的安全性。Java 開發人員還面臨著包括雲遷移的安全性問題在內的諸多挑戰。
  • 程式語言前20名vs開發者最討厭的程式語言排行榜
    你喜歡的程式語言,在哪個榜單上?今年3月份,Swift有史以來第一次排行榜前十名。但近期佔比不斷下滑,甚至又回到了第 16 位。看來之前「Swift主要用於在蘋果的生態系統中編寫應用程式,排名不會進一步增長」的預言還是有點準的。2017年10月份TIOBE程式語言排行榜前20名
  • Rust 語言風靡學術界 - OSCHINA - 中文開源技術交流社區
    近日,著名科學期刊 Nature 刊登了一篇文章,表明 Rust 語言也正在成為學術界最受歡迎的程式語言之一。2015 年,德國生物信息學家 Johannes Köster 曾用 Python 編寫了一個流行的工作流管理器 Snakemake。但是現在他正在籌備一個新項目,該項目需要將數百萬個基因序列讀數與數十億個遺傳鹼基進行比較,以鑑定基因組變體。
  • 5款開源雲計算平臺推薦 - OSCHINA - 中文開源技術交流社區
    我們熟知的幾個IT巨頭的雲計算平臺,如亞馬遜EC 2、IBM的藍雲、微軟的Azure、Sun Cloud等,那麼開源雲計算的平臺又有哪些呢?以下列舉了開源中國社區收錄的5款知名的開源雲計算平臺。Programs To Useful Systems)是 Amazon EC2 的一個開源實現,它與商業服務接口兼容。
  • 假如女人是一種程式語言 - OSCHINA - 中文開源技術交流社區
    假如女人是一種程式語言,也許每個男人心中都有自己最喜歡的那一個吧?我認為女人可分兩類,「面向過程」和「面向對象」。「面向對象」的女人以尋找終身伴侶為目標,而「面向過程」的,則以經歷難以忘懷的愛情時光為己任。各位程序猿當然也要按需選擇最適合自己的「程式語言」,不要因為時髦而盲目追求「面向對象「,有時候過程可能比結果更重要。
  • 你最深愛的程式語言其實很爛 - OSCHINA - 中文開源技術交流社區
    我要做的就是數落大家最喜歡的程式語言。你會問我為什麼,為什麼要搞這種惡作劇?親愛的朋友,我能想出三種理由。1. 我無聊,沒有更好的事情去做。2. 我自命不凡,坐在家裡,深知即使我侮辱了你編程最喜歡用的語言,你也拿我沒折。除非你能發明出這樣的東西:
  • 一些編程上的策略 - OSCHINA - 中文開源技術交流社區
    下面的例子是用Python寫的,但這些概念適用於任何程式語言。2. 代碼優化找出程序的主執行路徑——你的程序大部分時間都執行這些模塊。首先優化這部分代碼,但也不要在程序實現的第一次迭代中進行優化。那些處理邊界情況或失敗/異常處理的地方,這部分代碼不需要優化,除非它們引起了值得注意的性能問題。 3.
  • Git 2.4.3 發布 - OSCHINA - 中文開源技術交流社區
    Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。開源中國 Git 代碼託管平臺:http://git.oschina.net/Windows下的Git請看這裡:http://www.oschina.net/p/msysgitGit 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體
  • 開源春天,此時不來,更待何時? - OSCHINA - 中文開源技術交流社區
    AWS 雲架構策略副總裁,也是一手將 Netflix 帶向了「雲原生」架構,使其開始轉向雲計算,並在日後成為該領域巨頭的 Adrian Cockcroft 曾指出「當下最火熱的技術趨勢,包括雲計算、大數據、機器學習與人工智慧,它們底層的框架全都是開源的,現在的情況是大家都基於這些開源的框架在做甚至是商品化的產品的開發。」
  • Google限制Python使用引熱議 - OSCHINA - 中文開源技術交流社區
    今日,csdn報導的一篇文章「Google將限制Python語言的應用 開發社區熱議」;引發網友的熱烈討論
  • 開放源碼是開源軟體嗎? - OSCHINA - 中文開源技術交流社區
    所以,與此類似的,在中文裡,我們可以認為:「開放原始碼」是一個動詞+一個名詞。而「開源」則是一個特定的詞彙。作為動詞,我們說將某某軟體開源,是一種行為。作為形容詞,我們稱某某軟體是一個開源(的)軟體,不僅僅是指我們能夠獲取到他的原始碼。
  • zmail 6.1版本更新 - OSCHINA - 中文開源技術交流社區
    Zmail的官方主頁:www.z-email.orgZmail的官方論壇:bbs.z-email.orgZmail的QQ群: 257959126系統要求redhat 6.x centos 6.x 64位最小安裝
  • Gitbook,這個開源出書平臺了不起 - OSCHINA - 中文開源技術交流社區
    GitHub充分利用了網際網路的能力,讓開發者可以方便地參與不同的項目,不要說查閱別人的代碼,修改別人的項目,是一種更高層次的交流、對話。就好像《如何閱讀一本書》裡提到的「主動閱讀」,是通過不斷了解作者核心觀念,並提出自己觀點進行碰撞的方式,讓讀者成為一名偉大的讀者。相比紙質書中作者與讀者的對話,GitHub 將兩段代碼撰寫者的溝通顯性化,不再是偷偷在旁邊的注釋裡加入自己的觀點。
  • 為什麼會有這麼多的程式語言 - OSCHINA - 中文開源技術交流社區
    朋友 Kevin Kelleher 向我建議了一個比較各種程式語言的有趣方法:看看它們各自都是來解決什麼問題的。