雖然已經(jīng)過(guò)去了8個(gè)月,但2020仍然未成定局,這是一個(gè)不斷變化著的行業(yè),預(yù)測(cè)始終未停止。同時(shí),作為一名軟件開(kāi)發(fā)人員,生存也并非易事。軟件行業(yè)的從業(yè)者已經(jīng)見(jiàn)證了許多技術(shù)的誕生和消亡,而這些技術(shù)可能從未被大眾知曉,它們很難在軟件行業(yè)留存下來(lái)。
回溯過(guò)往,我們可以發(fā)現(xiàn)編程語(yǔ)言有著非常悠久的歷史,其中有許多關(guān)鍵技術(shù),C語(yǔ)言和Java是最古老的兩個(gè),如今仍然存在。但如果看它們?cè)跇I(yè)界的地位或人氣,可以發(fā)現(xiàn)二者都正在下降。
作為一名開(kāi)發(fā)人員,我很喜歡JavaScript,這種喜愛(ài)仿佛是永恒的,而且我使用JavaScript已經(jīng)有一段時(shí)間了。但如果睜眼環(huán)顧開(kāi)發(fā)人員的世界,結(jié)論可能就會(huì)改變了。
讓我們從JavaScript、Python和Go中選擇出2021年將會(huì)使用的編程語(yǔ)言吧。在討論每種語(yǔ)言的優(yōu)點(diǎn)之前,先看一些線上調(diào)查及其結(jié)果。
調(diào)查和其他數(shù)據(jù)
Stack Overflow調(diào)查
Stack Overflow的年度開(kāi)發(fā)者調(diào)查是世界上規(guī)模最大、最全面的針對(duì)代碼使用者的調(diào)查,超過(guò)9萬(wàn)名開(kāi)發(fā)人員參與了這項(xiàng)調(diào)查。2019年的調(diào)查中,Python領(lǐng)先,JavaScript和Go分別排在第二和第三位。而Go作為一種快速發(fā)展的語(yǔ)言,人氣瘋漲。在我看來(lái),2020年的統(tǒng)計(jì)結(jié)果可能會(huì)發(fā)生變化。
圖源:https://insights.stackoverflow.com/survey/2019
GitHub-GitHut排名
下圖GitHub 2.0顯示了2013年到2019年期間請(qǐng)求代碼合并的數(shù)量。如圖所示,JavaScript是所有語(yǔ)言中的佼佼者,在圖中看不到Go, Python則排在第二位。
圖源:https://madnight.github.io/githut/#/pull_requests/2020/2
但通過(guò)觀察每種編程語(yǔ)言的排名,我們可以看到Go的人氣正在顯著提高,而JavaScript和Python的人氣卻在下降。
通過(guò)觀察這些GitHub存儲(chǔ)庫(kù),我們可以看到Go對(duì)開(kāi)發(fā)者的吸引力越來(lái)越高。Go存儲(chǔ)庫(kù)的觀察數(shù)和星級(jí)都更高,盡管人們對(duì)Go的興趣尚不如JavaScript和Python存儲(chǔ)庫(kù)。
為什么選擇Python?
Python是一種高級(jí)的動(dòng)態(tài)類型編程語(yǔ)言,在IT行業(yè)已經(jīng)流行數(shù)年。許多調(diào)查結(jié)果顯示,Python可以被稱為是過(guò)去十年中最流行的語(yǔ)言。
Python的優(yōu)點(diǎn)
· 它有一個(gè)龐大的社區(qū)。當(dāng)遇到困難時(shí),總會(huì)有人來(lái)幫忙。
· 使用Python,可以用更少的代碼行在更短的時(shí)間內(nèi)解決復(fù)雜的問(wèn)題。
· Python通過(guò)簡(jiǎn)單而強(qiáng)大的語(yǔ)法使許多復(fù)雜的事情變得非常簡(jiǎn)單。
· 它是一種高級(jí)語(yǔ)言,因此不必像使用C ++那樣擔(dān)心諸如內(nèi)存管理之類的復(fù)雜任務(wù)。
· 它是跨平臺(tái)的,你可以在Windows、Mac和Linux上構(gòu)建和運(yùn)行Python應(yīng)用程序。
· 它有大量的庫(kù)、框架和工具。這意味著無(wú)論你想做什么,其他人以前很可能已經(jīng)做過(guò),因?yàn)镻ython已經(jīng)存在20多年了。
簡(jiǎn)言之,Python是一種多用途語(yǔ)言,其語(yǔ)法簡(jiǎn)單、簡(jiǎn)潔、對(duì)初學(xué)者友好。從技術(shù)上講,你用Python做的每件事,也可以用其他編程語(yǔ)言來(lái)做。Python的簡(jiǎn)潔和優(yōu)雅讓它比其他語(yǔ)言發(fā)展更快,這就是它成為雇主首選語(yǔ)言的原因。
不論你是程序員還是初學(xué)者,在2021年,學(xué)習(xí)Python會(huì)給你帶來(lái)很多工作機(jī)會(huì)。事實(shí)上,Python開(kāi)發(fā)人員的平均年薪高達(dá)11.6萬(wàn)美元。
為什么選擇JavaScript(Node.js)?
我個(gè)人喜歡Node.js是因?yàn)樗俏议_(kāi)始后端開(kāi)發(fā)的地方。到目前為止,我討論的是編程語(yǔ)言。但在這一節(jié)中,我想多談?wù)凬ode.js,
眾所周知,Node.js在IT行業(yè)的后端開(kāi)發(fā)領(lǐng)域非常流行,其中一個(gè)主要原因是Node.js基于JavaScript。如果你是JavaScript開(kāi)發(fā)人員,那么你可以輕松地成為全棧開(kāi)發(fā)人員,這是JavaScript的另一個(gè)優(yōu)勢(shì)。
JavaScript和Node.js
· 前端和后端使用同一種語(yǔ)言編寫。
· Uber、LinkedIn、Netflix和Facebook等大公司都在使用它。
· 它是跨平臺(tái)的。這意味著您可以在Windows, Mac, and Linux上構(gòu)建并運(yùn)行Node.js應(yīng)用程序。
· 它是非阻塞的,這意味著Node.js真的很快。讀寫非阻塞文件是服務(wù)器需要做的事情之一,但Node.js也可能做該工作。
· 它有一個(gè)龐大的社區(qū)。Gitter 是我目前所在的社區(qū)之一。此外,還可以使用Slack channels和Stack Overflow discussions。
· 它不是一個(gè)臃腫的框架。這意味著它是一種web服務(wù)器技術(shù),可以用于Node.js的不同框架,比如Express。
Node.js也將是一個(gè)很好的JavaScript環(huán)境,可用于后端開(kāi)發(fā)。通過(guò)觀察下圖,我們可以發(fā)現(xiàn),在2019-2020年期間,JavaScript用于后端和前端開(kāi)發(fā)的比例相似。看看美國(guó)Node.js開(kāi)發(fā)者的平均年薪,年薪從48000美元到130000美元不等。
圖源:https://nodejs.org/en/user-survey-report/
為什么選擇Go?
Go是一種開(kāi)源編程語(yǔ)言,它使構(gòu)建簡(jiǎn)單、可靠和高效的軟件變得容易。它于2009年發(fā)布,起初它的人氣不如Python和JavaScript。但如今,Go已經(jīng)兩次被評(píng)為年度編程語(yǔ)言,Go已經(jīng)成為67.9%開(kāi)發(fā)者最喜愛(ài)的編程語(yǔ)言。顯然,開(kāi)發(fā)者開(kāi)始喜歡Go是有原因的。
圖源:https://insights.stackoverflow.com/survey/2019
Go的優(yōu)點(diǎn)
· Go也是一種跨平臺(tái)的語(yǔ)言。
· 它非常高效。因?yàn)镚o是一種C類的語(yǔ)言,所以不需要知道新的語(yǔ)法。
· Go不經(jīng)常更新。更新也少有重大的變化,而且Go與舊版本100%兼容。
· Go現(xiàn)在是一種成熟的語(yǔ)言,有一個(gè)內(nèi)置的包管理器測(cè)試框架和一個(gè)并發(fā)模型。
· 它是一種簡(jiǎn)單的語(yǔ)言,只有25個(gè)關(guān)鍵字和較少的數(shù)據(jù)結(jié)構(gòu)(沒(méi)有類,只有函數(shù)和類型)。
· 它是一種可靠的語(yǔ)言。默認(rèn)情況下,它支持并發(fā),有一個(gè)漂亮的模型,還可以處理可用于生產(chǎn)環(huán)境的服務(wù)器。
很多程序員都將C語(yǔ)言作為他們的學(xué)習(xí)的第一種編程語(yǔ)言。如果你也是這樣開(kāi)始的,那么學(xué)習(xí)和使用Go對(duì)你來(lái)說(shuō)毫不費(fèi)力。來(lái)看看Go開(kāi)發(fā)者在美國(guó)的平均年薪:從4.5萬(wàn)美元到13萬(wàn)美元不等。
如你所見(jiàn),Go在過(guò)去的幾年里做得很好,與JavaScript和Python相比,Go的用戶數(shù)量也相當(dāng)可觀。在接下來(lái)的幾個(gè)月里,它的人氣和資源肯定會(huì)增加。我的結(jié)論出現(xiàn)了:盡管我是從JavaScript開(kāi)始的,但我認(rèn)為Go將成為2021年最好的后端編程語(yǔ)言。
責(zé)任編輯:xj
-
JAVA
+關(guān)注
關(guān)注
19文章
2971瀏覽量
104850 -
編程
+關(guān)注
關(guān)注
88文章
3627瀏覽量
93807 -
python
+關(guān)注
關(guān)注
56文章
4798瀏覽量
84805
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論