2021 年押寶哪個後端語言呢?

csdn 發佈 2020-08-26T06:32:52+00:00

「My favorite things in life don』t cost any money. It’s really clear that the most precious resource we all have is time.」 — Steve Jobs。

作者 | Mr Herath

譯者 | 鹿未來,責編 | 鄭麗媛

頭圖 | CSDN 下載自視覺中國

出品 | CSDN(ID:CSDNnews)

以下為譯文:

2020年已到8月份了,雖然今年的技術趨勢預測還沒結束,可作為程式設計師,想要跟上行業前沿走向,並"生存"下去並非易事。正因為在軟體行業中不好」生存「,所以人們希望技術能夠永存。

回顧過往,歷史悠久的程式語言包含很多重要的組件,C和Java就是比較典型且常用的兩種,但如今這兩種語言的人氣值卻在曲線下降。

作為一名開發者,我喜歡用JavaScript(就像有了永恆的紐帶),而且用了很長時間。可就在我們擦亮雙眼看看開發者身處的世界時,有些事情就會出現偏差。如果說讓我們從JavaScript、Python、Go中,選擇一種語言在2021年使用。那麼,你會選哪種?現在在說各自優點之前,不妨先看一下調研結果。

調查及數據分析

Stack Overflow 調查

每年的Stack Overflow開發者調研都是全球內極具規模和有深度的調查,有超過9萬的開發者參與調研。據調查報告顯示,Python位居榜首,JavaScript和Go分別排在第二和第三的位置,不過這個調研是2019年的。Go語言漲幅非常瘋狂,也算是飛速發展的一種語言。在2020年的調查報告中,我個人覺得統計數據會發生變化。

來源:https://insights.stackoverflow.com/survey/2019

GitHub-GitHut排名

下面這張圖是從2013年-2019年中各個語言的 pull request 量,如圖所示,JavaScript在所有其他語言之上。不過,當Python位居第二時,我們並沒有在圖表中看到Go語言。

來源:https://madnight.github.io/githut/#/pull_requests/2020/2

通過觀察每種程式語言的排名,Go語言是增長比較快的,而JavaScript、Python這兩種語言的流行度正在下降。

來源:https://madnight.github.io/githut/#/pull_requests/2020/2

GitHub儲存庫

通過以下這些Github儲存庫,我們可以看到開發者對GO語言越來越喜歡。與JavaScript、Python相比,Go 的 fork 數雖不及它們,但是GO存儲庫的數量和star數也越來越多。

來源:https://github.com/python/cpython

來源:https://github.com/nodejs/node

來源:https://github.com/golang/go

為什麼要選擇Python?

Python是一種高級的動態程式語言,在IT行業中已經流行了很多年。根據多維度的調查顯示,Python被認為是過去十年中最受歡迎的語言。

Python的優勢

  • Python可以用最短的時間和最少代碼量解決複雜的問題。

  • Python通過簡單而強大的語法使許多複雜的事情變得非常容易。

  • Python是一種高級語言,不必擔心C ++內存管理之類的複雜任務。

  • Python是跨平台的,可以在Windows、Mac和Linux上構建、運行應用程式。

  • Python有一個龐大的社區。遇到困難時,會有人幫助。

  • Python具有很多的庫、框架、工具。Python已經問世20多年,無論想做什麼,很可能以前別人都做過。

簡而言之,Python簡單、乾淨,適合初學者使用。從技術上來講,用Python編程的同時都可以使用其他的語言轉換,Python的簡單性和優雅性使其比其他程式語言有了更大的發展。無論你是程式設計師還是絕對的初學者,學習Python都會在2021年為你帶來很多就業機會。其實,Python開發者的平均年薪高達116,000美元。

為什麼要選擇JavaScript (Node.js)?

個人很喜歡Node.js,從開始做後端起一直用Node.js。到目前我談論程式語言,但不得不說Node.js是在JS運行環境鍾最受歡迎的。我們都知道,Node.js在IT工業中服務後端的,一個主要是原因是Node.js是基於JS,如果你是JS的開發者,拿你很容易成為一個全棧工程師,這也是JS的另一個優勢。

JavaScript and Node.js的優勢

  • 無障礙,這意味著Node.js很快(前後端使用一種程式語言,無阻礙IO讀寫就是Node.js要做的)

  • Uber、LinkedIn、Netflix和Facebook等大廠公司都在用。

  • Node.js是跨平台的。可以在Windows,Mac和Linux上構建和運行Node.js應用程式。

  • Node.js有一個龐大的社區——Gitter社區,此外還可以找到Slack頻道和Stack Overflow討論。

  • Node.js不是一個臃腫的框架。它是一種Web伺服器技術,可以與Node.js已有的不同框架一起使用,例如Express(流行的Node.js框架之一)。

在後端開發時,再次可以看到Node.js將會成為更好的JS環境。如下圖所示,在2019-2020這段時間,JS在前後端使用中所占的比例差不多,另外,美國Node.js開發者的平均薪資在48,000-130,000美元。

來源:https://nodejs.org/en/user-survey-report/

為什麼要選擇Go?

Go語言是一種開源的程式語言,它很容易構建簡單、可靠、高效的軟體。2009年Go語言問世,但一直沒有JS和Python火,Go語言曾兩次被評為年度程式語言。此外,Go語言已成為67.9%的開發人員最喜歡的程式語言。很顯然,開發者喜歡Go語言是有原因的。

來源:https://insights.stackoverflow.com/survey/2019

Go語言的優勢

  • 高效,Go語言語法類似C語言,也不需要重新學習新的語法

  • Go既是簡單的語言又是跨平台語言,只有25個關鍵字和較少數量的數據結構(沒有類,只有函數和類型)。

  • Go語言是既是可靠的語言又是快速語言,支持並發,具有漂亮的模型並默認情況下處理可用於生產環境的伺服器。

  • Go語言不會經常更新,而且是與舊版100%兼容

  • Go是一種成熟的語言,具有內置的包管理器測試框架和並發模型。

基於以上優點,Go也是一種很棒的語言。您可能要花更多時間弄清為什麼還沒有開始使用Go。如我們所見,大多數程式設計師都將C語言作為他們的第一門程式語言來學習。如果以這種方式開始學習和使用Go,可以說是毫不費力。看一下Go開發者在美國的平均工資:每年45,000美元至130,000美元。

「My favorite things in life don』t cost any money. It’s really clear that the most precious resource we all have is time.」 — Steve Jobs

總結

如我們所見,Go在過去幾年都做得很好。根據調查,與JavaScript、Python相比,Go吸引了大量用戶。在接下來的幾個月中,人氣和資源也還會增加。即使我一開始是使用JavaScript,但我還是認為Go語言將作為2021年使用的最佳後端程式語言。

歡迎留言,看誰會是2021年預測王!

參考文獻

  • https://github.com/nodejs/node

  • https://github.com/nodejs/node

  • https://github.com/nodejs/golang/go

  • https://nodejs.org/en/user-survey-report/

  • https://insights.stackoverflow.com/survey/2019

原文:https://medium.com/better-programming/what-will-be-the-best-back-end-programming-language-for-2021-18096c0c6105

本文為 CSDN 翻譯,轉載請註明來源出處。

關鍵字: