本文轉載自公衆號「讀芯術」(ID:AI_Discovery)。前端
雖然已通過去了8個月,但2020仍然未成定局,這是一個不斷變化着的行業,預測始終未中止。同時,做爲一名軟件開發人員,生存也並不是易事。軟件行業的從業者已經見證了許多技術的誕生和消亡,而這些技術可能從未被大衆知曉,它們很難在軟件行業留存下來。node
回溯過往,咱們能夠發現編程語言有着很是悠久的歷史,其中有許多關鍵技術,C語言和Java是最古老的兩個,現在仍然存在。但若是看它們在業界的地位或人氣,能夠發現兩者都正在降低。python
做爲一名開發人員,我很喜歡JavaScript,這種喜好彷彿是永恆的,並且我使用JavaScript已經有一段時間了。但若是睜眼環顧開發人員的世界,結論可能就會改變了。git
讓咱們從JavaScript、Python和Go中選擇出2021年將會使用的編程語言吧。在討論每種語言的優勢以前,先看一些線上調查及其結果。程序員
1. 調查和其餘數據
github
(1) Stack Overflow調查
golang
Stack Overflow的年度開發者調查是世界上規模最大、最全面的針對代碼使用者的調查,超過9萬名開發人員參與了這項調查。2019年的調查中,Python領先,JavaScript和Go分別排在第二和第三位。而Go做爲一種快速發展的語言,人氣瘋漲。在我看來,2020年的統計結果可能會發生變化。web
圖源:https://insights.stackoverflow.com/survey/2019編程
(2) GitHub-GitHut排名後端
下圖GitHub 2.0顯示了2013年到2019年期間請求代碼合併的數量。如圖所示,JavaScript是全部語言中的佼佼者,在圖中看不到Go, Python則排在第二位。
圖源:https://madnight.github.io/githut/#/pull_requests/2020/2
但經過觀察每種編程語言的排名,咱們能夠看到Go的人氣正在顯著提升,而JavaScript和Python的人氣卻在降低。
圖源:https://madnight.github.io/git
(3) GitHub存儲庫
圖源:https://github.com/python/cpyt
圖源:https://github.com/nodejs/node
圖源:https://github.com/golang/go
經過觀察這些GitHub存儲庫,咱們能夠看到Go對開發者的吸引力愈來愈高。Go存儲庫的觀察數和星級都更高,儘管人們對Go的興趣尚不如JavaScript和Python存儲庫。
爲何選擇Python?
圖源:unsplash
Python是一種高級的動態類型編程語言,在IT行業已經流行數年。許多調查結果顯示,Python能夠被稱爲是過去十年中最流行的語言。
Python的優勢:
它有一個龐大的社區。當遇到困難時,總會有人來幫忙。
使用Python,能夠用更少的代碼行在更短的時間內解決複雜的問題。
Python經過簡單而強大的語法使許多複雜的事情變得很是簡單。
它是一種高級語言,所以沒必要像使用C ++那樣擔憂諸如內存管理之類的複雜任務。
它是跨平臺的,你能夠在Windows、Mac和Linux上構建和運行Python應用程序。
它有大量的庫、框架和工具。這意味着不管你想作什麼,其餘人之前極可能已經作過,由於Python已經存在20多年了。
簡言之,Python是一種多用途語言,其語法簡單、簡潔、對初學者友好。從技術上講,你用Python作的每件事,也能夠用其餘編程語言來作。Python的簡潔和優雅讓它比其餘語言發展更快,這就是它成爲僱主首選語言的緣由。
不論你是程序員仍是初學者,在2021年,學習Python會給你帶來不少工做機會。事實上,Python開發人員的平均年薪高達11.6萬美圓。
爲何選擇JavaScript(Node.js)?
我我的喜歡Node.js是由於它是我開始後端開發的地方。到目前爲止,我討論的是編程語言。但在這一節中,我想多談談Node.js,
衆所周知,Node.js在IT行業的後端開發領域很是流行,其中一個主要緣由是Node.js基於JavaScript。若是你是JavaScript開發人員,那麼你能夠輕鬆地成爲全棧開發人員,這是JavaScript的另外一個優點。
JavaScript和Node.js:
前端和後端使用同一種語言編寫。
Uber、LinkedIn、Netflix和Facebook等大公司都在使用它。
它是跨平臺的。這意味着您能夠在Windows, Mac, and Linux上構建並運行Node.js應用程序。
它是非阻塞的,這意味着Node.js真的很快。讀寫非阻塞文件是服務器須要作的事情之一,但Node.js也可能作該工做。
它有一個龐大的社區。Gitter 是我目前所在的社區之一。此外,還可使用Slack channels和Stack Overflow discussions。
它不是一個臃腫的框架。這意味着它是一種web服務器技術,能夠用於Node.js的不一樣框架,好比Express。
Node.js也將是一個很好的JavaScript環境,可用於後端開發。經過觀察下圖,咱們能夠發現,在2019-2020年期間,JavaScript用於後端和前端開發的比例類似。看看美國Node.js開發者的平均年薪,年薪從48000美圓到130000美圓不等。
圖源:https://nodejs.org/en/user-survey-report/
爲何選擇Go?
Go是一種開源編程語言,它使構建簡單、可靠和高效的軟件變得容易。它於2009年發佈,起初它的人氣不如Python和JavaScript。但現在,Go已經兩次被評爲年度編程語言,Go已經成爲67.9%開發者最喜好的編程語言。顯然,開發者開始喜歡Go是有緣由的。
圖源:https://insights.stackoverflow.com/survey/2019
Go的優勢:
Go也是一種跨平臺的語言。
它很是高效。由於Go是一種C類的語言,因此不須要知道新的語法。
Go不常常更新。更新也少有重大的變化,並且Go與舊版本100%兼容。
Go如今是一種成熟的語言,有一個內置的包管理器測試框架和一個併發模型。
它是一種簡單的語言,只有25個關鍵字和較少的數據結構(沒有類,只有函數和類型)。
它是一種可靠的語言。默認狀況下,它支持併發,有一個漂亮的模型,還能夠處理可用於生產環境的服務器。
不少程序員都將C語言做爲他們的學習的第一種編程語言。若是你也是這樣開始的,那麼學習和使用Go對你來講絕不費力。來看看Go開發者在美國的平均年薪:從4.5萬美圓到13萬美圓不等。
如你所見,Go在過去的幾年裏作得很好,與JavaScript和Python相比,Go的用戶數量也至關可觀。在接下來的幾個月裏,它的人氣和資源確定會增長。個人結論出現了:儘管我是從JavaScript開始的,但我認爲Go將成爲2021年最好的後端編程語言。
【責任編輯:趙寧寧 TEL:(010)68476606】