2021 年,這8種編程語言最流行(編程最流行的語言排名)
怎樣判斷哪種編程語言最流行?正如要挑選最受歡迎的冰激凌一樣,每個人都有自己的最愛。實際上,由于各種原因,不同的開發(fā)人員喜歡不同的編程語言,當你認為一種編程語言可能占主導地位時,一種新的編程語言出現了,或者一種老的語言與新的應用聯系起來了。
2021 年最流行的編程語言將基于相關開發(fā)人員想要完成的任務以及他們已經學習或完成的工作。對希望獲得加薪的有經驗的程序員來說,最流行的編程語言將不同于那些剛開始工作的程序員,這些人在參加了編程訓練營后想要從事初級編程工作。
有這么多不斷變化的語言,很難知道該從何處入手,尤其是開源語言一直在變化,新的包和框架不斷涌現。無論你的興趣或需求是什么,如果你想了解 2021 年最流行的編程語言,你可以從本文這個列表中找到它們。
1、最流行的初學者編程語言:Python
無論你查看什么榜單,Python 幾乎都被列為最受初學者歡迎的編程語言:在 Qvault 關于初學者最佳編程語言的帖子,GitHub 的排名,Stack Overflow 的開發(fā)者調查,甚至是大學教授計算機科學專業(yè)的最熱門語言,都是如此。
它不像 Rust 那樣快速發(fā)展,也不像 JavaScript 那樣老掉牙。但它是一種不可阻擋的編程語言。它已經有 30 年的歷史了,它在使用和流行方面都經歷了穩(wěn)步的增長,足以使它成為幾乎所有排行榜的榜首。
緣何如此流行?
Python 的偉大之處在于它是根據開發(fā)者的經驗編寫的。從實踐來看,這意味著它讀起來就像英語一樣:特別是對于沒有編程背景的人來說,學習起來更容易。
同時,它也能非常快速地構建任何東西的基本原型,這使得初學者能夠在短短幾分鐘內編寫出具有良好教程的函數代碼,從而極大地增強了他們的能力,也使他們得到了回報。
最后,它具有廣泛的通用性。無論你的需求是數據科學,機器學習還是 Web 開發(fā),你都可以通過 Python 來完成。
總之,Python 的語法,易用性和通用性使其成為最受初學者歡迎的編程語言。
初學者學習 Python 的最佳方法
Python 是最受初學者歡迎的編程語言,因為它為全新的開發(fā)者提供了強大的支持網絡。你可以使用 Python.org 上面向初學者的免費教程開始編程。
你還應該利用 Python 用戶和愛好者組成的豐富而富有支持性的在線社區(qū)。大部分 Python 支持者會記得自己學習 Python 的時光,并樂意向初學者伸出援手。瀏覽Reddit 論壇上的 Python 版塊,在 Stack Overflow 上閱讀和發(fā)布 Python 問題,看看是否能在 Discord 小組或 Slack 頻道上找到編程伙伴。
2、對不想從事編程工作的人來說,最流行的編程語言是 R
當我擔任客戶成功經理時,我的工作完全不涉及編程。但是,我仍然發(fā)現能夠在 R 中進行分析,查看保留率、流失率、交流量等等,這是非常有用的。R 是另一種開源編程語言,盡管沒有 Python 那么流行,但在數據科學界仍然非?;钴S,深受人們歡迎。
若要找一份非編程的工作,R 是最流行的編程語言。它正在取代 SQL 和 SAS 這些閉源的付費語言。由于企業(yè)既想降低成本,又想雇傭無論日常工作中是否編程,都能進行分析的人,他們都在轉向 R。
緣何如此流行?
Datacamp在其 R 與 Python 教程中,如此寫道,R 被“沒有計算機編程技能的統計學家、工程師和科學家所使用。它在學術界、金融、制藥、媒體和市場營銷中都很流行”。
對于那些出于某些非常正當理由而不在工作中進行編程的人來說,R 是最流行的編程語言。首先,它是開源的。和 Python 一樣,無需支付任何費用。
R 還提供了集成的開發(fā)編輯器 RStudio,使其更容易使用。R 有一個強大的開源軟件包生態(tài)系統,使任何人都可以非常簡單地用幾行代碼運行統計分析,并以幾行代碼創(chuàng)建出一個可供發(fā)布的圖形。
非程序員學習 R 的最佳方法
尤其是對于那些沒有或不想從事編程工作的人來說,我認為最好是找一個你真正關心的項目,然后設定一個明確的目標。你沒有工作的必要——至少現在你可以不知道如何編程。
你之前沒有任何編程經驗,所以學習曲線會非常陡峭。你需要一些你深深熱愛的東西。只有這樣才能讓你克服令人沮喪的障礙、知識空白和用戶錯誤,這也是每個編程初學者都需要經歷的一次旅程。
3、最流行的漲薪編程語言:Perl
根據Stack Overflows 的調查,Perl 是榜單上最矛盾的語言之一,因為它是全球薪資最高的語言(年薪中位數為 7.5 萬美元),但也是最令人恐懼的語言(71.4%)。但是如果你想要在編程工作中獲得更高的收入,沒有比這更流行的編程語言了。它的前身是更流行的 PHP,同時也是一門有點火爆的垃圾堆語言,因此而聞名。
博客 Some Dude Says 在其博文《2020 年的 Perl,它還值得學習嗎?》(Perl in 2020: Is It Still Worth Learning?)說,“Perl 試圖為太多的人提供太多的東西。糟糕的代碼片段飄來飄去,而且在很多項目中,未經深思熟慮就被拉進來。
一個又一個的腳本小子拼湊出他們可憎的東西,并讓它們在世界范圍內散播。他們把源碼扔到網上,讓全世界也能免費看到。書里滿是垃圾,而且即使是早已過時的書也要重印。”
盡管很多開發(fā)者不喜歡它,但很多雇主發(fā)現它是一種非常有用的編程語言,可以用于新的項目,也可以用于維護現有的基礎結構和項目。正因為如此,它仍然是最流行的漲薪編程語言。
緣何如此流行?
Opensource.com 將亞馬遜、波音、BBC 和 Northrop Grumman 列為尋找 Perl 開發(fā)人員的大公司的一員。它是一種很受雇主歡迎的編程語言。與 R 和 Python 一樣,它也是開源的,這意味著低成本和低風險的使用。許多用戶(例如,在Reddit 論壇的 Perl 子版塊上)都說它是一種范圍廣泛,但功能有限的語言,使得它既簡單又實用。
人們對其不滿的主要原因,可能是上面那篇博文中所列舉的各種因素的遺留,開源的本質讓這門語言失望了,并使其良好的名聲陷入了泥潭。
但是,隨著 Perl 的最新版本修復了很多用戶體驗問題,以及即將發(fā)布的 Perl 7, Perl 的流行度可能會再次緩慢攀升,尤其是鑒于 Perl 在雇主中需求很大,盡管 Perl 作為一門編程語言存在諸多缺陷,但雇主認為它是一種出色的技能,這使得它在這個最流行的編程語言榜單上占有一席之地。
希望加薪的開發(fā)人員學習 Perl 的最佳方法
learn.perl.org網站可能是開始學習 Perl 最好的地方。與 R 和 Python 不同,很多用戶都是從 Google 搜索和復制粘貼代碼塊中學習的,最好遠離 Stack Overflow 這樣的地方,因為那里可能有糟糕的代碼片段。Modern Perl也是一個相對較新的文檔,可以避免許多過時的、固執(zhí)己見的教程,而Perl Cookbook則是經過實踐檢驗的資源。
4、iOS 上最流行的移動應用開發(fā)編程語言:Swift
R、Python 和 Perl 都是上個世紀開發(fā)的。而 Swift 則是 2014 年才被特別地開發(fā)成蘋果的編程語言。顧名思義(譯注:swift 即迅速的意思,也是一種鳥類雨燕的名詞),它以快速構建 iOS 應用而著稱,迅速超越了最初為此而生的 Objective-C。
蘋果官網自稱Swift 比 Objective-C 快 2.6 倍,比 Python 快 8.4 倍。盡管它是一門年輕的語言,但在 Stack Overflow 的 2020 年開發(fā)者調查中,它是最流行的第 9 種語言。要編寫 iOS 應用,沒有其他最流行的編程語言。
緣何如此流行?
在Dummies.com上寫道:“開發(fā) iOS 應用可能是你多年來職業(yè)生涯中最有趣的事情,投入的時間和金錢都很少(與 Windows 等平臺的開發(fā)相比)?!睂τ谀切┫雽懘a的人來說,開發(fā)應用是展示你的技能,甚至可以從中賺點錢的好方法。
與 Android 應用相比,iOS 擁有更強大的開發(fā)者程序,并且處理了在商店中創(chuàng)建和托管應用程序所面臨的許多棘手問題。開發(fā) iOS 應用的速度也比 Android更快。
基于這些原因,對于那些想要開發(fā) iOS 移動應用的人來說,Swift 是最流行的編程語言。
應用程序開發(fā)者學習 Swift 的最佳方法
顯然,蘋果在幫助開發(fā)者學習 Swift 方面有著既得利益,所以它是開源的。蘋果公司居然開發(fā)了一款名為Swift Playground的應用,該應用旨在幫助初級編程者學習 Swift 的基礎知識,同時還提供其他一些資源來幫助用戶學習。如果你的編程水平比較高,或者想業(yè)余時間學習 Swift。
之后,最好的方法就是干脆腳踏實地,用 Swift 設計你的第一個應用。
5、橫向思維者中最流行的編程語言:Ruby
Ruby 是最受初創(chuàng)企業(yè)歡迎的編程語言之一——這是一種有不止一種方式的語言,其非常簡單的語法使得許多初創(chuàng)企業(yè)具有“快速行動,打破常規(guī)”的風氣,而這種風氣也受到了橫向思維者的青睞。
Ruby on Rails 是一個運行 Ruby 的全棧 Web 應用框架,而且由于它很容易在很短的時間內構建 Web 應用,所以很受歡迎。
緣何如此流行?
對于許多初學者來說,使用像 Python 這樣的語言工作可能會感到一些局限性,因為在這種語言中,通常只有一種方法來完成工作。Ruby 簡單的語法允許靈活的方法,這對于那些正在學習第二種編程語言的人來說是個福音,對于那些更喜歡從另一個角度思考問題的人來說也是個福音。這使得 Ruby 在 2021 年最流行的編程語言榜單中名列前茅。
橫向思維者學習 Ruby 的最佳方法
由于 Ruby 的動態(tài)性,因此沒有一種單一的學習方法。盡管理解諸如變量、數據結構和條件語句等核心編程概念非常重要,但 Ruby 和 Ruby on Rails 的簡單性意味著,一旦你掌握了基礎知識,下一步應該是嘗試構建一個自己的簡單的 Web 應用。
6、最流行的移動應用和 Web 開發(fā)編程語言:JavaScript
JavaScript 是最流行的 Web 編程語言,負責交互式網站。它開發(fā)于 1995 年,作為當今最主要的客戶端腳本語言,95% 的網站都在使用 JavaScript。隨著 Node.js 的開發(fā),很多人也開始將 JavaScript 用于服務器端。它與 CSS 和 HTML 一起,構建了你隨時訪問萬維網時看到的東西。
根據 Stack Overflow 的 2020 年開發(fā)者調查,它已經連續(xù)八年成為使用最多的語言。對任何開發(fā)人員來說,只要網站存在,JavaScript 就會有用。顯然,這對任何 Web 開發(fā)人員都是必須掌握的。即便你不想成為一個 Web 開發(fā)人員,建立自己網站的能力(現在常常用來制作簡歷和作品集)也是一 個吸引人的技巧,值得展示。
緣何如此流行?
對于 Web 開發(fā)和移動應用來說,JavaScript 是最流行的編程語言,這一點是非常了不起的,因為它是作為對第一次瀏覽器戰(zhàn)爭的回應而在短短十天內創(chuàng)建的。
它之所以如此流行,是因為它無處不在,但要了解它為什么無處不在也很好。首先,它可以用于幾乎所有的前端和后端 Web 開發(fā),但也有一些框架的開發(fā)使它更進一步。例如,JavaScript 也用于 Slack 和 Skype 這樣的桌面應用,它們使用Electron.js。Vue.js、Angular.js和React.js是獨立的 JavaScript 網絡框架,用于構建用戶界面,分別由谷歌前員工 Evan You、谷歌和 Facebook 開發(fā)。
它也是標準化的,這意味著經常有新版本的更新和發(fā)布。無論你的編程生涯處于什么階段,這門語言都能為你提供一些東西。
Web 開發(fā)人員學習 JavaScript 的最佳方法
如果你搜索“學習 JavaScript”,很容易被大量的信息、教程和指南所淹沒。甚至很難知道你需要哪些框架和庫。這就是為什么我推薦一種分層次的方法,使你能夠系統地、持續(xù)地學習 Web 開發(fā)人員最流行的編程語言。一些例子包括《Node.js 開發(fā)實戰(zhàn)》(JS: The Right Way),以及 Qvault 的《編程基礎入門》(Basic Intro to Coding)。
7、能快速漲薪的最流行編程語言:Go
Go 是由 Google 開發(fā)的,受到了編程語言巨頭 C 的影響,但它是為了避免 C 的缺陷,而 C 被 Go 開發(fā)人員普遍鄙視。其目的是創(chuàng)建一種適合在龐大代碼庫時代使用的語言?,F在它已經被幾家大公司使用,谷歌顯然是其中之一,但 Uber、Twitch 和 Dropbox 也在其中。
在 Stack Overflows 的開發(fā)者調查中,它在最流行的語言排行榜上排名第三(17.9%),同時也是全球最高的薪資中位數(7.4 萬美元)。
緣何如此流行?
它是最流行的編程語言,對于想要快速提高收入的開發(fā)人員來說,有幾個原因。首先,它是一門為大型項目而生的語言。例如,與 Ruby 不同,Ruby 的構建速度快,但是很難擴展,而 Go 是谷歌為幫助他們更快地處理大型項目和任務而有意創(chuàng)建的。谷歌為了減少閱讀和調試代碼所需的時間,專門創(chuàng)建了 Go,以便使這些任務變得可行。這樣,它就成了許多旨在實現該規(guī)模項目的大公司的吸引力語言。
它還被譽為比 Perl 更快、也更容易學習,在最高薪資排行榜上名列前茅。Perl 擁有數十年的歷史和意見,而 Go 是 2009 年才創(chuàng)建的,它的語法更簡潔,也更現代。數據工程師 Samuel Jones 在使用 Go 構建了一個 API 之后,發(fā)表了一篇關于 Go 的評論,他認為,Go 不像很多詞匯表臃腫的編程語言,它小到足以“裝進你的大腦”。這樣可以減少在線和參考書中搜索答案和語法的時間。
僅僅通過閱讀來學習 Go 也是可能的,因為它的語法非常清晰,即使是不熟悉它的人,甚至是不懂編程的人,也能閱讀代碼,并理解它所發(fā)生的一切。
希望快速漲薪的程序員學習 Go 的最佳方法
作為谷歌為互聯網打造的一門語言,可想而知會有幾個免費的網絡資源可以幫助你踏上學習之路。首先,有幾個資源都值得推薦:《Go 語言之旅》(A Tour of Go),在那里你可以學習使用 Go。它是交互式的,你可以在網站本身運行自己的代碼片段。它被劃分為不同的模塊,這樣就可以很容易地跟蹤你所在的位置,并在必要時進行回溯。
一旦你掌握了基礎知識,其他一些很棒的資源,包括《實例學習 Go 語言》(Go By Example)和《精通 Go》(Go Mastery),在這些資源中,你將學會如何發(fā)現代碼的實例,用于典型或常見的任務。
8、2022 年最流行的編程語言:Rust
根據2020 年 Stack Overflow 的開發(fā)者調查,Rust 連續(xù)五年成為最流行的語言,并且是排名第五的最想使用的語言(14.6%)。那么,為什么盡管它客觀上是最受歡迎的編程語言,卻沒有排在榜首呢?因為根據同一份調查,97% 的調查對象從未使用過 Rust。它的未來也不明朗。
Mozilla 在 2009 年贊助了 Rust 的開發(fā),并在 2010 年宣布Rust。它被視為其他系統編程語言(例如 C 或 C )的替代方案,根據它的[維基百科詞條](https://en.wikipedia.org/wiki/Rust_(programming_language),它是一種用于高度并發(fā)和高度安全系統的語言。這對于開發(fā)人員來說,意味著他們能夠快速高效地編寫安全的代碼。
但由于新冠肺炎疫情,Mozilla裁掉了 Rust 團隊的大部分人員,專注于商業(yè)產品。雖然他們已經宣布,將會成立一個基金會,以掌握未來的所有權和 Rust 的成本,但目前還沒有確定運作方式。
緣何如此流行?
假設 Rust 能夠克服當前的困難,我預期它將會逐年變得更加流行。它擁有一個由當前開發(fā)人員組成的專用粉絲群,越來越多的開發(fā)人員對學習它感興趣。雖然它可能不會在 2021 年的排行榜上名列前茅,但我相信,它有望成為 2022 年或以后最流行的編程語言。
在易于學習方面,許多開發(fā)人員將它與 C 進行了比較。對許多開發(fā)人員來說,安全代碼的優(yōu)先級可能是令人沮喪的,因為他們在輸入代碼時只會得到令人惱火的錯誤信息,但這可能是一種轉變,從“快速行動,打破陳規(guī)”的心態(tài),更多地轉向更安全、結構更合理的代碼庫。
它既可以應用于長期以來的開發(fā)必需品,也可以應用于更多未來主義的事業(yè)。Mozilla 關于它的網頁描述了它的應用范圍:“游戲引擎、操作系統、文件系統、瀏覽器組件和虛擬現實的模擬引擎。”
由于這些原因,Rust 可能是未來最流行的編程語言。
2022 年最流行的編程語言學習 Rust 的最佳方法
由于 Rust 非常注重安全和結構,開發(fā)人員會花費很多時間和資源來確保錯誤信息是用戶友好的,這與許多其他編程語言不同。這使得初學者學習起來特別有意義,因為他們在犯錯誤的時候很容易就能改正。
Rust 網站提供了三種嘗試的途徑:閱讀名為“The Book”的書,通過小項目嘗試Rustlings Course,以幫助入門和運行,以及《實例學 Rust》(Rust By Example),它闡明了支撐 Rust 的概念和庫。所有這些資源都是免費的。
正如 Reddit 論壇上的一個網友所指出的那樣,這是一門相對較新的語言,因為很多問題的答案,還沒有在 Stack Overflow 這樣的地方發(fā)布和回答。出于這一原因,他們建議加入 Discord 頻道,以此作為獲得導師和支持性社區(qū)學習 Rust 的途徑。
結語
正如你從這個列表所看到的,現在有很多編程語言可供選擇,其中很多都是最近才出現的。盡管一些語言在客觀上比另一些語言更適合于特定的任務,但是大多數語言對某些人是有益的。如果你想學習 2021 年最流行的編程語言,你首先要決定你想從學習編程語言中得到什么。
不管你坐在哪里,保持對趨勢的關注,并確保你的編程游戲處于領先地位,這總歸是一件好事。超過 70% 的專業(yè)水平的開發(fā)人員每年至少學習一次新的編程技能。為什么不從 2021 年開始,使用一種 2021 年最流行的編程語言,優(yōu)先考慮你未來的技能呢?這個列表將幫助你選擇一個或多個來開始學習之旅。
作者介紹:
Zulie Rane,理學碩士,自由撰稿人。
原文鏈接:
https://towardsdatascience.com/the-8-most-popular-coding-languages-of-2021-b3dccb004635
延伸閱讀:
怎樣挑選一個好的NPM包?-InfoQ
關注我并轉發(fā)此篇文章,即可獲得學習資料~若想了解更多,也可移步InfoQ官網,獲取InfoQ最新資訊~