出道50+年!乘風(fēng)破浪的編程語言們,能二次翻紅嗎?
繼上次哈希表華山論劍之后,比特宇宙編程語言聯(lián)合委員會又來搞事情了。
委員會要做一套全新的系統(tǒng),涉及后端、前端、客戶端三大塊,為選擇什么樣的語言組合拿不定主意。

為了體現(xiàn)公平,委員會特舉辦一次盛會,搭建一個平臺供大家一展身手,選出表現(xiàn)優(yōu)異的編程語言,大會的主題命名為:乘風(fēng)破浪的編程語言們
。
委員會給各大編程語言都發(fā)去了邀請函,很快就到了大會這一天。
老炮兒三兄弟
第一個上臺的是Pascal、Basic、Fortran三兄弟。
“大家好,我是Pascal,出道49年”
“大家好,我是Basic,出道56年”
“大家好,我是Fortran,出道66年”

三兄弟自我介紹完畢,臺下一片嘩然。
“一把年紀(jì)還來湊什么熱鬧···”“他們居然還在吶”,質(zhì)疑之聲不絕于耳。
評委問到:“你們出道時間也不短了,是什么樣的想法,讓你們決定來參加這個大會呢?”
三兄弟你看我,我看他,笑著說到:“說實(shí)話看著他們年輕一輩的語言們一個個眾星捧月,我們也想再次翻紅”
評委接著問到:“那你們有哪方面的特長呢?”
老大哥Fortran先開口:“我嘛,別的特長也不多,就是適合做科學(xué)計(jì)算,什么矩陣吶、微分方程求解之類的,對我來說那是小菜一碟”
Fortran一說完,下面一眾小年輕們都瞪大了眼睛,隨后獻(xiàn)上了熱烈的掌聲。
隨后Basic發(fā)言:“我是可以解釋執(zhí)行的,我也可以科學(xué)計(jì)算、字符處理、圖形處理呢”

Pascal接過話筒說到:“我有指針,可以直接操作內(nèi)存,適合系統(tǒng)級開發(fā)”
幾個評委商量了一會兒,“很遺憾三位,我們看了下你們的資料,感覺沒有適合你們的位置,只能說聲抱歉了”
三兄弟倒也看得開,笑著說道:“沒關(guān)系,我們就是來湊個熱鬧,確實(shí)上了年紀(jì),不服老不行了”
說完三兄弟就走下了舞臺,下面再次爆出了熱烈的掌聲。
C / C++
接下來登場的是C和C++兩兄弟。
“大家好,我是C語言,出道48年”
“大家好,我是C++,出道37年”
倆兄弟精神矍鑠,神采奕奕。

評委問到:“兩位在圈內(nèi)也算是大咖了,今天怎么想到來到這個舞臺”
C語言接過話筒,說到:“我久不出山,世人都快忘記我的存在了,想趁此機(jī)會證明一下自己,廉頗雖老,也能吃飯”
臺下響起一片歡笑聲。
評委也笑著問到:“那說說你們的特長吧”
C語言把話筒遞給C++,想讓他發(fā)言。
C++接過話筒:“我和大哥都是靜態(tài)編譯型語言,直接編譯成機(jī)器指令,運(yùn)行性能杠桿滴。我們有秘密武器指針,不僅可以直接操作內(nèi)存,還有函數(shù)指針,威力強(qiáng)大!”
評委:“就這?”
“還有還有!我還支持面向?qū)ο缶幊蘋OP,有封裝、繼承、多態(tài)三大特性,適合開發(fā)大型項(xiàng)目”,C++得意的說到。
評委:“就這?”
C++有些不好意思了,撓了撓頭,“哦,我還支持泛型編程,還自帶STL標(biāo)準(zhǔn)庫,還有一堆新特性,說到這,我可就有的說了······”
評委打斷了C++,“好了好了,你們的情況我們已經(jīng)清楚了,我們給的建議是分到后端組”
“謝謝評委”,倆兄弟鞠躬道謝,開心的走下舞臺。
Java
“大家好,評委好,我是Java,今年出道25年”,評委抬頭一看,是Java登場了。

評委點(diǎn)頭示意,“你好,請問你有哪方面的特長呢?”
Java挺起胸膛說到:“那可太多了!我也支持面向?qū)ο螅懊鍯++可以的,我也都可以,而且我比他做的更好”
聽到這,下面的C++臉色深沉。
Java繼續(xù)說到:“評委,有指針直接操作內(nèi)存不是什么好事兒,你別被C/C++忽悠了。我有自動內(nèi)存管理,有垃圾回收GC···”
沒等Java說完,評委打斷了他:“說自己的特長就好,不許diss別人!”
“OK!我最重要的特長就是我是中間字節(jié)碼語言,可以跨平臺,write once, run anywhere!”,Java的臉上滿滿的自信。
評委滿意的點(diǎn)了點(diǎn)頭。
“我還沒說完呢,我還有反射,可以用它做出一大堆的框架出來,像Spring···”
評委再次打斷了他,“好了,可以了,經(jīng)過我們一致決定,你也是分到后端組”
Java鞠躬致謝,走下舞臺,來到C++旁邊坐著。
JavaScript & Python
接下來是JavaScript登場了。
“大家好,我是JavaScript,今年出道也是25年了”

評委:“你和剛才的Java是親戚嗎?”
JavaScript連連揮手,“不是不是,您可千萬別誤會”
評委:“好吧,那說說你的特長”
“我的特長就是我很輕量,動態(tài)類型,解釋執(zhí)行,開發(fā)簡單,基于對象開發(fā)但又沒有復(fù)雜的OOP,很適合運(yùn)行在瀏覽器里面”
評委眼睛一亮:“太好了,你很適合前端開發(fā),給你分到前端組里去吧”
總算輪到Python上場了,他都開始打起瞌睡來了。
“大家好,我是Python,今年出道29年”

評委也打了一個呵欠,“來介紹下你的特長”
“我也是動態(tài)語言,解釋執(zhí)行,可以跨平臺。而且我有完善的面向?qū)ο驩OP,簡潔的語法,強(qiáng)大的第三方庫”
評委聽的非常滿意,也把它分到了后端組。
C#
評委看客戶端組還沒有人有些著急了,“今天來的沒有適合客戶端組的語言嗎?”
這時,臺下的C++和Java紛紛舉起了手說到:“評委,后端和客戶端我都可以做的”
一時之間難以抉擇,于是,評委把他們從后端組,換到了X組,待定。
接下來上場的是C#。
“大家好,我是C#,讀作C Sharp,經(jīng)常有人念錯我的名字,我今年出道19年了”

評委滿意的點(diǎn)點(diǎn)頭,終于有個年輕一點(diǎn)的面孔了。
“請說下你的特長”
“我也是中間字節(jié)碼語言,支持跨平臺。我也有垃圾回收,有功能強(qiáng)大的框架庫,不管是后端還是客戶端,我都能勝任!”
“可以說點(diǎn)有新鮮感的東西嗎?這些我們都聽過了”,評委說到。
“我支持事件、委托和屬性,更潮更酷!”
評委滿意的點(diǎn)點(diǎn)頭,不過也在糾結(jié)到底分到后端還是客戶端組,所以也將C#分到了X組。
尾聲
接下來一段時間,后面的語言依次上臺,VBScript、TypeScript被分到了前端組,Objective-C被分到了客戶端組······
Swift終于坐不住了,起身拉住Rust的手說到:“太懶得等了,你看來參加的基本都是些老家伙,要不咱們走吧,據(jù)說隔壁在搞一個編程營2020
,只要年輕選手”
Rust欣然答應(yīng),準(zhǔn)備一起溜走。
GoLang見狀小聲疾呼:“等等我~~~”
書·籍·推·薦

[英]拉烏爾-加布里埃爾 ? 烏爾瑪?
[意]馬里奧 ? 富斯科
[英]艾倫 ? 米克羅夫特 | 著作
陸明剛、勞佳?|譯

本書全面介紹了Java 8、9、10版本的新特性,包括Lambda表達(dá)式、方法引用、流、默認(rèn)方法、Optional、CompletableFuture以及新的日期和時間API,是程序員了解Java新特性的經(jīng)典指南。

Richard Reese?| 著
陳曉亮 |?譯

深入理解C指針和內(nèi)存管理,提升編程效率!這是一本實(shí)戰(zhàn)型圖書,通過它,讀者可以掌握指針動態(tài)操控內(nèi)存的機(jī)制、對數(shù)據(jù)結(jié)構(gòu)的增強(qiáng)支持,以及訪問硬件等技術(shù)。本書詳細(xì)闡述了如何在數(shù)組、字符串、結(jié)構(gòu)體和函數(shù)中使用指針,同時演示了相應(yīng)的內(nèi)存模型及其對指針使用的影響。

[巴西] Luciano Ramalho |?著
安道 , 吳珂 | 譯

本書由奮戰(zhàn)在 Python 開發(fā)一線近20年的 Luciano Ramalho 執(zhí)筆,Victor Stinner、Alex Martelli 等 Python 大咖擔(dān)綱技術(shù)審稿人,從語言設(shè)計(jì)層面剖析編程細(xì)節(jié),兼顧 Python 3 和 Python 2,告訴你 Python 中不親自動手實(shí)踐就無法理解的語言陷阱成因和解決之道,教你寫出風(fēng)格地道的 Python 代碼。?
以下文章來源于編程技術(shù)宇宙?,作者軒轅之風(fēng)

