什么樣的語言算是“沒人用”的呢??
2021-10-08
如果Uda 提出“哪種編程語言最好”的問題,我相信每個人都必須打個斷頭。今天我們先拋開爭議,只說哪個編程語言是個大坑,你最好不要學(xué)。不過,在此之前,我還是要說,即使我死了,釘在棺材里,我也會在墳?zāi)估铮眠@頹廢的聲帶喊:“這是最好的編程語言!” ( 被拖走
“其實(shí),世界上只有兩種編程語言,一種是大家都口口聲聲說難用,一種是根本沒人用?!?——C++作者說
咳咳,那么,“沒人說話”是一種什么樣的語言呢?我們決定從三個方面進(jìn)行綜合分析,即:
1、使用這種語言的用戶很少;
2、 這個語言相關(guān)的職位招聘很少;
3、 關(guān)于這種語言的討論很少。
這三個方面分別代表了一種編程語言的整體用戶增長、就業(yè)市場前景和社區(qū)活躍度——如果這三個指標(biāo)都令人擔(dān)憂,那么你最好盡快棄坑。
好吧,我不賣了,我先放出最終的分析結(jié)果。2018年我們建議你不要接觸的5種編程語言是:Dart、-C、、Lua、和。
免責(zé)聲明:我們不是在詆毀這些編程語言的用處,也不是在質(zhì)疑它們的價值。本文只是對這些編程語言的整體用戶增長情況(即程序員對這種語言開發(fā)產(chǎn)品的意愿如何)、就業(yè)市場前景、社區(qū)活躍度等三大指標(biāo)進(jìn)行定量分析和橫向比較。
#1 飛鏢
Dart 是一種開源的、面向?qū)ο蟮耐ㄓ镁幊陶Z言,于 2011 年推出。它通常用于開發(fā) Web 應(yīng)用程序、服務(wù)器和移動應(yīng)用程序,也用于物聯(lián)網(wǎng)設(shè)備。
注:截至撰寫本文時,SDK 尚未正式發(fā)布,所以這個新的開發(fā)框架能否讓 Dart 起死回生取決于它在 2018 年的表現(xiàn)。
Dart 的社區(qū)活動
Dart 確實(shí)是一種相對較新的編程語言。有些人可能會認(rèn)為一種新語言的用戶數(shù)量很少,并沒有被廣泛使用??梢岳斫鈫??但是你看,同時也有和平,在它之后還有 Elm、Type、Rust 等等。尤其是Dart和新生相比,差距還是比較明顯的。
從六大不同社區(qū)平臺的活躍度來看,雖然Dart的數(shù)據(jù)不算特別低,但相對于同期、Type等編程語言來說,相對低很多。
Dart的成長
在增長方面,Dart 相對于其社區(qū)和就業(yè)表現(xiàn)的表現(xiàn)還算可以接受。例如,Dart 的用戶數(shù)曲線整體保持穩(wěn)定。與 Rust 相比,Dart 在 2014 年有了不小的進(jìn)步。這形成鮮明對比——自發(fā)布以來,其起伏非常戲劇化。
Dart 的就業(yè)市場
從就業(yè)的角度來看,Dart 基本已經(jīng)死了。上圖是技術(shù)棧中包含Dart語言的公司數(shù)量統(tǒng)計。雖然有這樣的公司,而且還在使用 Dart 的公司,但總的來說,Dart 開發(fā)人員的職位并不多。
對于 Dart 語言的開發(fā)人員來說,好消息是,對于需要 Dart 語言的職位,競爭將不那么激烈。畢竟,使用這種語言的人相對較少。如果公司有相關(guān)需求,跟你競爭的人不多。然而,壞消息是,這種類型的工作要求并不多。
那么,為什么我不應(yīng)該學(xué)習(xí) Dart?
Dart 是一種開發(fā)和維護(hù)的編程語言。雖然我不遺余力地推廣 Dart,但它卻成了一個痛點(diǎn):這個東西的生存和發(fā)展過于依賴,導(dǎo)致其他程序員不太敢將它作為主要的開發(fā)工具。
另外編程語言有哪些,雖然 Dart 也有兩個畫筆,但在當(dāng)今的編程世界中它的價值并不大。有業(yè)內(nèi)人士認(rèn)為,Dart 消亡的主要原因是“無論它的功能多么強(qiáng)大,或者使用它進(jìn)行 Web 開發(fā)多么容易,實(shí)際上類似的編程語言已經(jīng)消失了,他們都說一樣……所以 Dart 似乎并不突出?!?/p>
雖然除此之外,確實(shí)有一些公司在使用 Dart,但是如果仔細(xì)分析一下,就會發(fā)現(xiàn)一個好的編程語言需要“很多人”、“一個活躍的社區(qū)”和“廣泛的資金” . 三分,Dart 沒有一個能占上風(fēng)——這就是我們把它放在列表頂部的原因。
#2 -C
-C 是一門面向?qū)ο蟮耐ㄓ镁幊陶Z言,于 1984 年首次推出,你應(yīng)該對它印象深刻——這是在出現(xiàn)之前用于為 OS X 和 iOS 系統(tǒng)編寫應(yīng)用程序的官方語言。雖然很多程序員都改用了,但還是有人喜歡-C。
-C的社區(qū)活動
現(xiàn)在-C在社區(qū)活躍度方面排名倒數(shù)第三,僅優(yōu)于(倒二)和Dart(倒一)。雖然在倉庫數(shù)量方面還不錯,但在其他方面)社交媒體平臺)上面,-C已經(jīng)從過去的光環(huán)中褪去,回到了小透明。
雖然相比之下,-C庫的數(shù)量確實(shí)比較多,但這似乎主要?dú)w功于-C不再是過去的榮耀——畢竟曾經(jīng)是官方指定的編程語言,推出時間早了兩年. 年。不過,自從有了新歡,雖然還是有程序員用-C進(jìn)行開發(fā),但顯然已經(jīng)不再那么執(zhí)著了。畢竟光環(huán)之下,老寶刀-C還能活多久,還得打。問號。
-C增長
從圖中我們可以清楚的看到,自2014年問世以來,-C一直在走下坡路。不過,-C每年都會有一些小反彈——但這并不能阻止它一步步下滑。這與C語言年年的跌宕起伏形成了鮮明的對比。
-C的就業(yè)市場
蓮雖然年紀(jì)大了,周圍有強(qiáng)敵,但-C在就業(yè)市場上的表現(xiàn)還算不錯。它在使用的公司數(shù)量方面排名第四,在程序員職位數(shù)量方面排名第五,在整體就業(yè)市場得分方面排名第六。
對于現(xiàn)在的-C開發(fā)者來說,還有很多公司需要維護(hù)-C寫的老代碼,崗位也很多。不過由于歷史原因,一般會-C的程序員比較多,所以目前基本是買方市場,這種技術(shù)也不少見。
那么,為什么我不應(yīng)該學(xué)習(xí)-C?
雖然目前 -C 的就業(yè)市場仍然很有吸引力,但你不應(yīng)該學(xué)習(xí) -C 的主要原因是該語言不再開發(fā)。
如果你是編程新手,正在考慮學(xué)習(xí)哪種語言,你可能會發(fā)現(xiàn),當(dāng)你學(xué)完-C,很多公司可能已經(jīng)更新了他們的技術(shù)棧,不再需要這方面的職位。這使得 -C 成為一項(xiàng)具有巨大風(fēng)險和令人擔(dān)憂的回報的能量投資。
不僅如此,-C 在用戶增長和社區(qū)活躍度方面也并不理想,這意味著主流開發(fā)者已經(jīng)逐漸放棄它,并將逐漸被取代。既然如此,你還是去學(xué)習(xí)吧?
#3
是2009年發(fā)布的編程語言,是java的翻譯語言。它的語法糖(是指添加到計算機(jī)語言中的某種語法,對語言的功能沒有影響,但更方便程序員使用)受Ruby啟發(fā),并且。編譯過程中就不解釋了?,F(xiàn)有的 Java 類庫可以無縫地一起使用。事實(shí)上,一些開發(fā)人員甚至聲稱您應(yīng)該改用 Java。
社區(qū)活動
在社區(qū)活躍度方面,這20種編程語言中,只有倒數(shù)第二,比-C差,僅略高于Dart。尤其是在倉庫數(shù)量和標(biāo)簽數(shù)量方面,現(xiàn)實(shí)太慘淡了。最終只在推特上表現(xiàn)稍好,粉絲數(shù)也就1人左右。這說明大家似乎都在看各種新聞,真正投入使用的很少。
生長
人才市場
在就業(yè)市場方面,總分排名第九。技術(shù)棧采用的公司數(shù)量接近1000家,排名第七;開發(fā)者數(shù)量排名第八,居中。
對于現(xiàn)有的開發(fā)商來說,這樣的評級是個好消息。這意味著職位數(shù)量相對充足,競爭這些職位的人不會太多。同時,不像poor-C,至少沒有專門擠進(jìn)小眾的語言。
那么,我為什么不學(xué)習(xí)呢?
與-C類似,在社區(qū)活躍度和用戶增長方面都不是很樂觀。從社區(qū)活動的角度來看,程序員對這種語言并不太熱衷。
另一方面,它已經(jīng)發(fā)布了近 10 年。各種新語言和Java的更新版本帶來了更新的特性,使得相對競爭力不足。雖然沒有大的競爭對手直接取代它,雖然仍然采用了一些技術(shù)棧,但程序員們的目光還是更多地放在新事物上,關(guān)注度和依賴度一天比一天下降。這不是一個好兆頭。
#4 Lua
Lua 是一種開源、多范式可嵌入腳本語言,由里約熱內(nèi)盧天主教大學(xué)的一個開發(fā)團(tuán)隊(duì)于 1993 年創(chuàng)建。 Lua 目前在游戲和 Web 服務(wù)器領(lǐng)域非常流行。Lua雖然“高級”,也沒有值得吹捧的熱點(diǎn),但很多程序員還是在各個地方使用Lua。
Lua的社區(qū)活動
Lua的社區(qū)活躍度綜合排名第17,超過Dart、-C,僅次于Elm。Lua倉庫的數(shù)量雖然排在第15位,但分叉的數(shù)量實(shí)際上只是倒數(shù)第二。
在和IRC上,Lua的社區(qū)活躍度還算不錯,排名第九。這意味著雖然 Lua 不是一般的流行,但仍然有一些忠實(shí)的粉絲。雖然我們還是不建議新手學(xué)Lua編程,但至少Lua沒有人喜歡。
Lua的成長
如上圖所示,Lua的用戶增長還是比較穩(wěn)定的。這五年來,Lua雖然沒有太大的下降,但基本沒有成長。和其他類似的語言(如Perl和Perl)一樣,Lua基本上是老生常談了,趨于停滯。與之相比,它可能會受到數(shù)據(jù)科學(xué)熱潮的影響。同樣于 1993 年發(fā)布的 R 語言近年來一直在上升。
Lua的就業(yè)市場
Lua 在就業(yè)需求方面排名第 18 位,而開發(fā)者數(shù)量排名第 12 位,整體就業(yè)市場得分排名第 17 位。雖然像 9GAG 和這個類別的公司在他們的技術(shù)堆棧中列出了 Lua,但來自 .io 的數(shù)據(jù)顯示,Lua 的就業(yè)市場比同時出現(xiàn)的其他語言要弱。
與我們分析的其他語言不同,Lua 開發(fā)者目前供過于求,這對求職者來說不是個好消息。
那么,為什么我不應(yīng)該學(xué)習(xí)Lua呢?
的確,Lua 在游戲腳本和 Web 服務(wù)領(lǐng)域仍然被廣泛使用,但其在社區(qū)活躍度和就業(yè)市場方面的弱點(diǎn)并不樂觀。
總的來說,Lua 的發(fā)展停滯不前,就業(yè)市場供過于求,社區(qū)缺乏亮點(diǎn)。如果你學(xué)習(xí) Lua 是希望給自己帶來一個沒有太多競爭的潛在工作機(jī)會,希望融入一個活躍的開發(fā)者社區(qū),那么 Lua 可能不適合你。
#5
它是1986年問世的函數(shù)式編程語言,當(dāng)時具有運(yùn)行時垃圾收集、代碼熱更新、容錯處理等先進(jìn)機(jī)制。廣泛應(yīng)用于電信、銀行、電子商務(wù)、數(shù)字電話和即時通訊領(lǐng)域。
社區(qū)活動
它在社區(qū)活動方面排名第 13 位。雖然分叉很多,但倉庫總數(shù)只有第17位。在我們調(diào)查的所有函數(shù)式語言中,它排名倒數(shù)第二,僅略高于 Elm。
在社交媒體平臺的表現(xiàn)方面,IRC平臺表現(xiàn)最好編程語言有哪些,達(dá)到第七位?;蛟S是因?yàn)榫W(wǎng)站直接給了程序員和潛在學(xué)習(xí)者一個IRC頻道地址。
生長
的用戶群在過去五年中一直在下降。雖然偶有上升,但整體曲線繼續(xù)下降。但是對于純函數(shù)式語言來說,這樣的下降并不是特例,情況也是一樣。但這也可能是因?yàn)檫@些語言太老了。例如,新的函數(shù)式語言發(fā)展得比較好。
人才市場
就業(yè)狀況排名第16位。雖然開發(fā)者數(shù)量排名第 16 位,采用的公司數(shù)量排名第 13 位,許多公司,包括,和,使用它來滿足他們的許多編程需求。
如果你是未來的程序員,前景還是不錯的,職位還是有的,競爭的人不多。如果你真的對這門語言充滿熱情,那恐怕還不算太差——在就業(yè)市場上的表現(xiàn)也可以是一場戰(zhàn)斗,不管是新公司還是老公司都在用。
那么,我為什么不學(xué)習(xí)呢?
它已經(jīng)存在了大約 32 年,這是我們分析的 20 種編程語言中最古老的(發(fā)布于 1990 年,比它晚了 4 年)。雖然有一些初創(chuàng)公司采用了它,但使用的大多數(shù)公司都是那些老牌公司。這說明創(chuàng)新領(lǐng)域本質(zhì)上并不十分樂觀。
另一方面,來自新興函數(shù)式編程語言(例如 或 Elm)的競爭正在逐漸侵蝕 . 雖然它確實(shí)很有用,但對于新手來說,它陡峭的學(xué)習(xí)曲線一點(diǎn)也不友好。足以嚇跑很多只想做一些副業(yè)的程序員,以及想要零基礎(chǔ)入門的新手。
雖然還有很多舊代碼需要維護(hù),但是語言的整體曲線表明它的春天已經(jīng)過去了。如果你今年想學(xué)習(xí)一門新的編程語言,你最好不要選擇它。
綜上所述
在做最后的總結(jié)之前,我們要重申一下,本文提到的5種編程語言可能只是我們的分析指標(biāo)比較弱,但在各自的應(yīng)用領(lǐng)域還是很不錯的。發(fā)揮作用。如果看完這篇文章,你突然想學(xué)習(xí)這些語言——純粹是為了好玩,或者是為了一些小項(xiàng)目,而不是作為求職的主要技術(shù)——那么請學(xué)習(xí)吧。試一試!
看完就來學(xué)習(xí)吧~安利的入門課程,硅谷導(dǎo)師,中文字幕,還有很多好玩又實(shí)用的項(xiàng)目等你來挑戰(zhàn)。了解一下?