2021年2月, 編程語言的七國集團峯會在風景優美的Linux莊園如期召開。 前端
C, Java, Python, JavaScript , C++ , C#, PHP 相繼入座。 程序員
C語言做爲主持人,在大屏幕上用一幅圖總結了一下近二十年各國的沉浮。 編程
各國表明對C語言的工做紛紛表示讚揚。 後端
C語言說道:咱們七國集團已經統治IT界20多年了,歷經桌面時代,互聯網時代,大數據時代,人工智能時代而不倒,此次會議就是爭取把大好局面再維持20年!瀏覽器
C語言隨後介紹了本次G7峯會的兩大議題。編程語言
1. 解決內部爭端 大數據
2. 應對新編程語言的威脅雲計算
第一個議題剛剛開始各方就吵成了一鍋粥。 人工智能
Java率先向JavaScript發難, 指責它不遵照約定,用Node.js向後端發起進攻的惡劣行爲。 spa
C#憤怒地舉報JavaScript 用Electron 對桌面開發的蠶食。
JavaScript則辯解說C/C++/C#也能夠寫代碼運行在瀏覽器端中,不信大家去看WebAssembly,還有Java也作桌面開發例如IDEA和Eclipse.....
眼瞅着第一個議題就要打起來,C老大趕忙呼籲各方冷靜,要約束各方行爲,爲了大局不要內訌。
通過一番脣槍舌戰, 各方再次確立了本身的勢力範圍:
桌面開發:C#
前端開發:JavaScript
系統級軟件:C/C++
後端開發:Java/C#
大數據:Java/ Python
人工智能:C++/Python
而後大會轉入第二個議題,C語言給每一個人發了一份報告, 上面列舉了最近10年出現的編程新秀。
Go : 2009
Rust : 2010
Kotlin : 2011
Elixir : 2011
Julia : 2012
TypeScript : 2012
Swift : 2014
Python表明馬上建議把Elixir和Swift劃掉, 由於前者結合了Erlang和RoR,過小衆了。後者只在蘋果的生態系統中折騰,對G7沒啥威脅。
JavaScript則建議劃掉TypeScript, 畢竟和本身師出同門,最終還得編譯成JavaScript才能運行。
你們紛紛表示贊成。
Java 也不甘示弱地要求把Kotlin從列表中劃掉,由於那只是一堆語法糖而已,對他沒啥威脅。
C#提醒Java不可大意,畢竟Kotlin有Google這麼一個大腿, Google 爲了擺脫Java API的束縛,和Oracle大打出手,正在力推Kotlin。
Java則堅決地認爲Kotlin只是一點點改良,不是革命,成不了氣候。
C語言表達了對Julia的擔心,由於他號稱將 C 語言的速度、Ruby 的靈活、Python 的通用性、Matlab的數學符號結合在一塊兒,支持並行處理!
Python則不屑一顧,說野心越大失望越大,一我的不可能把全部的好都得了去, 再說了,它主要是面向科學計算的,不用擔憂。
C腦子中忽然閃過一句名言:弱小不是生存的障礙,傲慢纔是。
名單上只剩下了Go、Rust。
Go : 2009
Rust : 2010
Kotlin : 2011
Elixir : 2011
Julia : 2012
TypeScript : 2012
Swift : 2014
剩下的這兩位不可小覷, Rust和C同樣貼近硬件,還能解決野指針問題,微軟已經表態支持。
Go語言號稱互聯網時代的C語言,這些年藉着雲計算的東風,發展迅速, 後端已經有不少系統用它開發了。
剛纔熱鬧的氣氛一會兒緊張下來,你們都在盤算他們對本身利益的侵犯有多大。
良久之後,Python放了一個大招:「他們侵犯了程序員的人權!」
緣由是Go語言把類型定義放到變量名的後面,程序員很不適應,甚至真氣逆行。
Rust的概念奇葩,全部權和借用難以被常人所理解,一段簡單的代碼都編譯不過。
(碼農翻身注:參見文章《我中了美人計》《自從我學了Rust,就開始了受虐之旅》)
你們都以爲可行,G7控制着主流輿論,佔據道德制高點, 打人權牌垂手可得,這個招數屢試不爽。
Java則持保留意見,由於本家兄弟Scala和Go同樣,也是把類型放到後面。
C語言則表示他和Ken Thompson很熟,若是實在不行就考慮招安Go,把G7變成G8。
只不過新人加入會觸動現有的利益,須要從長計議。
爲期半天的G7峯會勝利閉幕了,參會各方再次劃分了各自勢力範圍,發表了一個重要的宣言。
宣言強調,G7通過多年的發展,很是穩定、成熟、強大,而且已經積累了海量的類庫,擁有龐大的生態系統,採用新語言的成本極其高昂,風險極大。
宣言譴責了Go和Rust對程序員人權的侵犯,決定對他們實施爲期一年的制裁,但願他們幡然悔悟,及時回頭是岸。
宣言最後委婉地指出:G7的大門始終對任何人敞開,只要符合G7價值觀的語言都歡迎加入。
(完)