繼上次哈希表華山論劍之後,比特宇宙編程語言聯合委員會又來搞事情了。
委員會要做一套全新的系統,涉及後端、前端、客戶端三大塊,爲選擇什麼樣的語言組合拿不定主意。
爲了體現公平,委員會特舉辦一次盛會,搭建一個平臺供大家一展身手,選出表現優異的編程語言,大會的主題命名爲:乘風破浪的編程語言們
。
委員會給各大編程語言都發去了邀請函,很快就到了大會這一天。
老炮兒三兄弟
第一個上臺的是Pascal、Basic、Fortran三兄弟。
“大家好,我是Pascal,出道49年”
“大家好,我是Basic,出道56年”
“大家好,我是Fortran,出道66年”
三兄弟自我介紹完畢,臺下一片譁然。
“一把年紀還來湊什麼熱鬧···”“他們居然還在吶”,質疑之聲不絕於耳。
評委問到:“你們出道時間也不短了,是什麼樣的想法,讓你們決定來參加這個大會呢?”
三兄弟你看我,我看他,笑着說到:“說實話看着他們年輕一輩的語言們一個個衆星捧月,我們也想再次翻紅”
評委接着問到:“那你們有哪方面的特長呢?”
老大哥Fortran先開口:“我嘛,別的特長也不多,就是適合做科學計算,什麼矩陣吶、微分方程求解之類的,對我來說那是小菜一碟”
Fortran一說完,下面一衆小年輕們都瞪大了眼睛,隨後獻上了熱烈的掌聲。
隨後Basic發言:“我是可以解釋執行的,我也可以科學計算、字符處理、圖形處理呢”
Pascal接過話筒說到:“我有指針,可以直接操作內存,適合系統級開發”
幾個評委商量了一會兒,“很遺憾三位,我們看了下你們的資料,感覺沒有適合你們的位置,只能說聲抱歉了”
三兄弟倒也看得開,笑着說道:“沒關係,我們就是來湊個熱鬧,確實上了年紀,不服老不行了”
說完三兄弟就走下了舞臺,下面再次爆出了熱烈的掌聲。
C / C++
接下來登場的是C和C++兩兄弟。
“大家好,我是C語言,出道48年”
“大家好,我是C++,出道37年”
倆兄弟精神矍鑠,神采奕奕。
評委問到:“兩位在圈內也算是大咖了,今天怎麼想到來到這個舞臺”
C語言接過話筒,說到:“我久不出山,世人都快忘記我的存在了,想趁此機會證明一下自己,廉頗雖老,也能喫飯”
臺下響起一片歡笑聲。
評委也笑着問到:“那說說你們的特長吧”
C語言把話筒遞給C++,想讓他發言。
C++接過話筒:“我和大哥都是靜態編譯型語言,直接編譯成機器指令,運行性能槓桿滴。我們有祕密武器指針,不僅可以直接操作內存,還有函數指針,威力強大!”
評委:“就這?”
“還有還有!我還支持面向對象編程OOP,有封裝、繼承、多態三大特性,適合開發大型項目”,C++得意的說到。
評委:“就這?”
C++有些不好意思了,撓了撓頭,“哦,我還支持泛型編程,還自帶STL標準庫,還有一堆新特性,說到這,我可就有的說了······”
評委打斷了C++,“好了好了,你們的情況我們已經清楚了,我們給的建議是分到後端組”
“謝謝評委”,倆兄弟鞠躬道謝,開心的走下舞臺。
Java
“大家好,評委好,我是Java,今年出道25年”,評委擡頭一看,是Java登場了。
評委點頭示意,“你好,請問你有哪方面的特長呢?”
Java挺起胸膛說到:“那可太多了!我也支持面向對象,前面C++可以的,我也都可以,而且我比他做的更好”
聽到這,下面的C++臉色深沉。
Java繼續說到:“評委,有指針直接操作內存不是什麼好事兒,你別被C/C++忽悠了。我有自動內存管理,有垃圾回收GC···”
沒等Java說完,評委打斷了他:“說自己的特長就好,不許diss別人!”
“OK!我最重要的特長就是我是中間字節碼語言,可以跨平臺,write once, run anywhere!”,Java的臉上滿滿的自信。
評委滿意的點了點頭。
“我還沒說完呢,我還有反射,可以用它做出一大堆的框架出來,像Spring···”
評委再次打斷了他,“好了,可以了,經過我們一致決定,你也是分到後端組”
Java鞠躬致謝,走下舞臺,來到C++旁邊坐着。
JavaScript & Python
接下來是JavaScript登場了。
“大家好,我是JavaScript,今年出道也是25年了”
評委:“你和剛纔的Java是親戚嗎?”
JavaScript連連揮手,“不是不是,您可千萬別誤會”
評委:“好吧,那說說你的特長”
“我的特長就是我很輕量,動態類型,解釋執行,開發簡單,基於對象開發但又沒有複雜的OOP,很適合運行在瀏覽器裏面”
評委眼睛一亮:“太好了,你很適合前端開發,給你分到前端組裏去吧”
總算輪到Python上場了,他都開始打起瞌睡來了。
“大家好,我是Python,今年出道29年”
評委也打了一個呵欠,“來介紹下你的特長”
“我也是動態語言,解釋執行,可以跨平臺。而且我有完善的面向對象OOP,簡潔的語法,強大的第三方庫”
評委聽的非常滿意,也把它分到了後端組。
C#
評委看客戶端組還沒有人有些着急了,“今天來的沒有適合客戶端組的語言嗎?”
這時,臺下的C++和Java紛紛舉起了手說到:“評委,後端和客戶端我都可以做的”
一時之間難以抉擇,於是,評委把他們從後端組,換到了X組,待定。
接下來上場的是C#。
“大家好,我是C#,讀作C Sharp,經常有人唸錯我的名字,我今年出道19年了”
評委滿意的點點頭,終於有個年輕一點的面孔了。
“請說下你的特長”
“我也是中間字節碼語言,支持跨平臺。我也有垃圾回收,有功能強大的框架庫,不管是後端還是客戶端,我都能勝任!”
“可以說點有新鮮感的東西嗎?這些我們都聽過了”,評委說到。
“我支持事件、委託和屬性,更潮更酷!”
評委滿意的點點頭,不過也在糾結到底分到後端還是客戶端組,所以也將C#分到了X組。
尾聲
接下來一段時間,後面的語言依次上臺,VBScript、TypeScript被分到了前端組,Objective-C被分到了客戶端組······
Swift終於坐不住了,起身拉住Rust的手說到:“太懶得等了,你看來參加的基本都是些老傢伙,要不咱們走吧,據說隔壁在搞一個編程營2020
,只要年輕選手”
Rust欣然答應,準備一起溜走。
GoLang見狀小聲疾呼:“等等我~~~”
書·籍·推·薦
[英]拉烏爾-加布裏埃爾 • 烏爾瑪
[意]馬里奧 • 富斯科
[英]艾倫 • 米克羅夫特 | 著作
陸明剛、勞佳 |譯
本書全面介紹了Java 8、9、10版本的新特性,包括Lambda表達式、方法引用、流、默認方法、Optional、CompletableFuture以及新的日期和時間API,是程序員瞭解Java新特性的經典指南。
Richard Reese | 著
陳曉亮 | 譯
深入理解C指針和內存管理,提升編程效率!這是一本實戰型圖書,通過它,讀者可以掌握指針動態操控內存的機制、對數據結構的增強支持,以及訪問硬件等技術。本書詳細闡述瞭如何在數組、字符串、結構體和函數中使用指針,同時演示了相應的內存模型及其對指針使用的影響。
[巴西] Luciano Ramalho | 著
安道 , 吳珂 | 譯
本書由奮戰在 Python 開發一線近20年的 Luciano Ramalho 執筆,Victor Stinner、Alex Martelli 等 Python 大咖擔綱技術審稿人,從語言設計層面剖析編程細節,兼顧 Python 3 和 Python 2,告訴你 Python 中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫出風格地道的 Python 代碼。
▼
站在巨人的肩膀上,解鎖更多IT技能
▼
把時間交給閱讀