「輕鬆一刻」那些關於程式語言的互黑(注釋版)

2020-08-28 跟陶叔學編程

 有人的地方就有江湖,有江湖就有門派。計算機程式語言經過70多年發展,種類眾多,形成了大大小小不同的門派。這些門派相互之間最大的樂趣之一就是互黑攻擊。有一個笑話:

女神:你能讓這個群的人都吵起來,我今晚就跟你走。

程序猿聽完就在群裡發了一句:PHP是最好的程式語言!

群立馬炸了,各種吵架。

女神:服了你了,我們走吧,你想幹啥都行。

程序猿:今天不行,我一定要說服他們,PHP是最好的語言!

  要想讓程式設計師們群情激昂最簡單的辦法就是討論哪門語言最好,一定能引發各種無下限的互黑。至於是怎麼互黑的呢?在知乎上有篇文章:你正在使用的程式語言本身有什麼缺陷?- 極客的回答 https://www.zhihu.com/question/266144672/answer/329863232。這是語言互黑的集大成者,還有人根據這篇文章畫出了漫畫《煮酒論語言》(未找到原始出處)。但是這篇文章就像是程式語言的《春秋》一樣,充滿了微言大義,對於初學者或者接觸其它語言較少的讀者來說有些晦澀,為了讓大家明白這其中的黑點,我給加上了注釋。

  以上是過場,下面正式開黑:

注釋:

  1. C語言,萬言之父。C語言被許多後續語言效法,包括C++、Java、C是2000年由微軟公司發布的一種由C和C++衍生出來的語言。C34;第一等級&39; All-purpose Symbolic Instruction Code,初學者通用符號指令代碼),是一種設計給初學者使用的程序設計語言。BASIC是由美國達特茅斯學院院長、匈牙利人約翰·凱梅尼(John G. Kemeny)與數學系教師託馬斯·卡茨(Thomas E. Kurtz)共同研製,於1964年正式發布。微軟起家就是1975年比爾·蓋茨為微型計算機Altair 8800編寫的BASIC編譯器。VB和delphi都曾經輝煌過,但一般用於小型項目開發,而且現在實際開發中已經不流行了。Pascal因為其語言的嚴謹性常用於教學,許多人的啟蒙語言是它。BASIC語言因其簡單,被許多應用軟體用於擴展編程,產生了眾多腳本變體。

注釋:

  1. 小學生能學會。PHP是丹麥裔加拿大程式設計師拉斯馬斯·勒德爾夫(Rasmus Lerdorf)於1994創建的一種通用開源腳本語言,PHP原始名稱為Personal Home Page Tools(個人主頁工具),現已經正式更名為 &34;(超文本預處理器)。PHP語法吸收了C、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。對初學者來說簡單易學,其在web開發中的優勢也讓他們能馬上上手寫點東西,容易產生學會的錯覺。

  2. 一種語言,千種寫法。PHP的來源之一是Perl。Perl語言是1986年由拉裡·沃爾(Larry Wall)設計的文字分析報告語言,用於Unix環境下的編程。Perl的設計思想是:不只一種方法做一件事(There&39;s fast, very powerful, and free(因為PHP是有史以來最好的語言,沒有之一。它快速,非常強大,而且免費)。從這兩句話就衍生出了語言圈中的一個非常出名的梗「PHP是最好的程式語言」,這成為了對PHP本身最大的戲謔。而因為PHP與「拍黃片」的拼音縮寫相同,蒼老師也就成了PHP的形象代言。


  除了上面的經典文章之外,還有一些有名的黑語言的漫畫與段子。比如:

注釋:

  HTML(Hyper Text Markup Language,超文本標記語言)是由Web的發明者 蒂姆·伯納斯·李(Tim Berners-Lee)和同事丹尼爾·康諾利(Daniel W. Connolly)於1990年創立的一種格式標記語言,網頁通過它的標記能明確內容顯示時的排版與格式。但因為它標記內容後不能改變(不包括GIF這種本身能變化的內容)且沒有交互性,它不能稱為程式語言。如果要增加網頁動態性與交互性,前端需要與Javascript這類腳本語言結合,後端需要與PHP、JSP、ASP等語言結合。

注釋:

  網頁前端現在已經聚集了大量的擴展技術,前端開發人員需要學習的知識量已經讓人吃不消了。

注釋:

  Java程序運行在虛擬機上,有一段時間因為虛擬機的運行效率低佔用CPU時間長,會導致機器發熱,這也成它的一個黑點。

注釋:

  Perl——唯一一種在被RSA加密之前與之後一個樣的語言。主要是嘲笑Perl把鍵盤數字鍵上面的所有符號都用了,看起來和亂碼差不多。

注釋:

  問:為什麼Java開發者要戴眼鏡?

  答:因為他們不會C#(C Sharp同See Sharp,看得清楚)。

注釋:

  因為Python近年來大火,Python程式設計師成了各開發公司大力招募的對象。Python之父吉多因為其個人介紹上的一句Guido van Rossum is a Dutch computer programmer who is best known as the author of the Python programming language.(吉多·范羅蘇姆是一位荷蘭電腦程式員,作為Python程式語言的作者而廣為人知。這裡還可以理解為「作為《Python程式語言》一書的作者」)而收到一封邀請入職的郵件。


  以上都是一些關於語言的黑點與槽點的段子與漫畫。語言之間的互黑是程式語言圈的一種有趣的文化,有助於大家放鬆心情,也有助各語言之間相互促進與發展。其實越是被黑得多的語言,其使用往往越廣泛,從而也就越成功。

相關焦點

  • 那些主流程式語言的知識,C語言
    前言對於程式語言來說,經常看到有因為各自支持的語言陣營而互懟的,其實根本沒那個必要,都只是一種工具而已。當多數主流語言都會使用時也許你就不會有偏見了,本質不過都是用來描述計算機的一個任務,只是每門語言設計時考慮的側重點不一樣而已。
  • python語言基礎-2:程式語言的基本結構(上)
    絕大部分程式語言,都有著類似的基本結構。所以,從學習的角度來看,如果你曾經掌握任何一門程式語言,都對學習python語言有很大幫助。(確實也有幾個與眾不同的特殊語言,但python並不在其中。)>怎樣定義自己的概念(函數與對象)怎樣把代碼保存在不同的文件中(多文件)在幾乎每個程序中都涉及到這幾個問題,我們將它稱作一個程式語言的基本結構。
  • 「頭破血流」學程式語言(Rust 篇)
    關於程式語言學習,我已經寫過兩篇相關的文章:『學習的藝術——如何學好一門技術、語言』,文章的主旨是:介紹如何通過造相似的輪子、進行相關內容輸出的方式,來提升對於程式語言的理解。『如何同時學會兩門程式語言?
  • 「關於學習編程那些事」我們需要學習的是編程,而不是程式語言
    而且奇怪的一點是:程式語言總是在不斷發展的。程式語言幾乎每天都有所變化,我們很難跟上其步伐。可是,大多數優秀的程序只是使用了程式語言的一小部分。學習程式語言的問題就好比在學習木工之前去學習如何使用木工鋸,錘子和各種切割機器。
  • 學編程這麼久,還傻傻分不清什麼是方法(method),什麼是函數(function)?
    作者:豌豆花下貓來自:Python貓 連結:https://mp.weixin.qq.com/s/e6rIc-dPhbqWAeJvekawwQ在程式語言中有兩個很基礎的概念,即方法(method)和函數(function)。
  • 「程式語言排名」2020年8月程式語言TIOBE指數
     對代碼、編程感興趣的可以關注「老K玩代碼」公眾號和我交流!程式語言R持續增長,並有望按計劃成為2020年TIOBE的程式語言。跟隨在Go,Swift和SQL之間在TIOBE索引中持續排名10的爭奪也很有趣。Swift本月下降了2個名次(從第10名到第12名)。
  • 2021程式語言「後浪」趨勢預測
    但如果我們回頭看一下,關於程式語言的變化趨勢仍然值得探討。C 和 Java 算是行業中最古老的兩門語言,目前仍然在行業中佔據一席之地。不過我們也能發現,它們的受歡迎程度呈現一個曲線下降的趨勢。作為一名開發者,Mr Herath 最喜歡的語言是 JavaScript。在一篇 Medium 文章中,他為我們分析了 2021 年可能最受歡迎的幾種程式語言。
  • 有內味兒了,東北話做程式語言,好使、招人稀罕
    機器之心報導 參與:思源、Jamin 如果東北話是程式語言中使用的主要語言,編程是否更招人稀罕?學習編程是否會更歡樂?
  • 華為程式語言「倉頡」曝光,加碼鴻蒙生態,強化自主技術
    9月1日,有微博博主曝光了,華為正在研發新的自主程式語言「倉頡」,領頭人是南京大學的計算機科學與技術系博士生導師,馮新宇。可想而知,華為將自主程式語言命名為「倉頡」,是有多深的寓意在裡面。例如,蘋果在2014年發布的SWIFT,就是目前為蘋果平臺編寫軟體程序的語言,谷歌也有自家的計算機程式語言DART。所以在當下這個檔口,華為推出自己的程式語言並不奇怪。
  • 「世界上最好的程式語言」,剛剛度過了25周歲生日
    「只要是用過 PHP 的程式設計師,都知道兩件事:第一,這是一種糟糕的語言,如果有其他選擇,自己絕不會再使用 PHP;第二,歷史上一些非常成功的項目都在用 PHP。」Fine,這兩點並不矛盾。作為一門程式語言,PHP 是有很多的缺陷,但和 PHP 環境具備的優點相比,這些缺陷也就不值一提了。和其他語言相比,PHP 為項目的搭建、更改和運行提供了更好的支持。
  • R語言快速入門(一)(第1部分:處理數據)
    R是一種開源程式語言,通常用於統計,機器學習和數據分析。毫不奇怪,R在數據科學和分析社區中得到廣泛使用,因為R的創建者本身就是統計學家。Ross Ihaka和Robert Gentleman以S程式語言為基礎,主要為常見的數據科學和研究任務(例如導入數據,數據轉換,數據處理,數據探索,統計建模和數據可視化)設計R。
  • 易學好上手的程式語言
    Python 號稱「Battery included」。我們知道 battery 是「電池」的意思,included 是「包含」的意思,因此就是說 Python 簡單到「已經包含了電池了」,功能都已經包含在語言裡了,直接拿來用即可。其語法實在很簡單,基本沒有編程經驗的孩子幾天也可以學會。現在 Python 更是已經被加入幼兒園、中小學的教材中了。
  • python語言基礎-3:程式語言的基本結構(下)
    絕大部分程式語言都必須回答下面這幾個基本問題:1. 怎樣暫存信息(變量)2. 怎樣進行數學計算、比較、邏輯運算3. 怎樣進行字符串處理4. 怎樣在代碼中寫注釋5. 怎樣調用函數6.怎樣根據信息做不同的處理(分支語句)7. 怎樣重複類似的工作(循環語句)8. 怎樣定義自己的概念(函數與對象)9. 怎樣把代碼保存在不同的文件中(多文件)在幾乎每個程序中都涉及到這幾個問題,我們將它稱作一個程式語言的基本結構。
  • Kotlin成為Android的官配程式語言
    Cleron 表示Kotlin和Java程式語言非常友好,二者之間輕鬆的互操作是Kotlin極具魅力的部分。另外,這種友好也導致了熟悉Java編程的開發者對Kotlin也會很有親切感。  Kotlin是一種極具表現力的程式語言,語法簡單,不囉嗦。Android團隊認為Kotlin將使得Android應用程式的編寫「更輕鬆,更愉快。Kotlin也是現有Android生態系統的絕佳搭檔。
  • 僅僅用了兩年,我就輕鬆學會了所有的程式語言!(附教程)
    本文想要探討的一個話題是:作為一個程式設計師,如何看待這麼多的程式語言其實很多人都有這樣的體會,當你學會了一門語言以後,再去學習新的語言,難度會大大降低,因為很多概念是一樣的, 只是換了一種包裝形式,但是每一門語言都有自己獨特之處,比如Ruby可以輕鬆地在運行時「打開」一個類,對這個類增加行為,還有method_missing的處理,這種特性,讓它特別適合去實現DSL,RoR的火爆也就不足為怪了。
  • 編程和程式語言竟然不是一回事,你知道嗎?
    「語言 = 文字 + 語法」或者,更抽象一點:「語言 = 軀幹 + 靈魂」相反,它是關於藉助計算機來自動解決問題的一門學問。解決問題才是計算機科學,而不是寫代碼。這就是許多計算機科學專業的學生,似乎不理解他們為什麼學習算法和數學的原因。如果你以前上過計算機科學的課,那麼你不會對此感到驚訝。因為你會注意到編程與程式語言幾乎沒有關係。思考一下,為什麼偽代碼在這些課程中如此常見。
  • 實用C語言編程(第三版)高清PDF
    現在有很多介紹C 語言的著作,但是本書在這一方面的確與眾不同,例如在討論C中運算優先級時, 15種級別被歸納為下面兩條原則:需要的朋友關注後私信我,大量優質電子資料分享!- 先乘除,後加減;- 在所有該加括號的地方都加上括號  第三版除介紹
  • TIOBE 1 月程式語言排行榜:C 語言再度「C 位」出道!
    整理 | 屠敏在 2020 年初雪來臨之際,TIOBE 官方在最新發布的 1 月程式語言榜單中為我們最終揭開了「 2019 年度程式語言」的神秘面紗,然意料之外情理之中,獲此殊榮的並非是風風火火吵鬧了一年又一年的 Python,而是一位低調的老兵——C 語言。
  • 哪種程式語言又快又省電?有人對比了27種語言
    在論文中,作者還根據程式語言的執行類型(編譯、虛擬機或解釋)和編程範式(命令式、函數式、面向對象和腳本)對結果進行了分析。因此,儘管普遍認為程序運行速度更快時能耗會下降,但研究者明確指出「速度更快的語言並不總是更節能。」這可能是一個很難回答的問題,因為功耗受到許多因素的影響(包括編譯器的質量和使用的庫)。
  • 哪種程式語言又快又省電?有人對比了27種語言
    在論文中,作者還根據程式語言的執行類型(編譯、虛擬機或解釋)和編程範式(命令式、函數式、面向對象和腳本)對結果進行了分析。具體而言,研究者使用了來自 Computer Language Benchmarks Game(一個用於比較性能的免費軟體項目,其中包含一組標準的算法問題和用於運行測試的框架)的 10 個問題,使得研究更有可比性和代表性。