程式語言後浪:Java、Python熱度不減,崛起最快卻是它

2020-09-03 機器之心Pro

選自Medium

機器之心編譯

作者:Mr Herath

編輯:澤南、杜偉、蛋醬

JavaScript?Python?此外,Go 語言也是不容忽視的後起之秀。

轉眼 2020 年已經過去了 8 個月,但對 2020 年的預測似乎並未結束。對於軟體開發從業者來說,這個行業時刻發生著變化,很多技能出現然後又消失,退場速度甚至遠超人們的想像。

但如果我們回頭看一下,關於程式語言的變化趨勢仍然值得探討。C 和 Java 算是行業中最古老的兩門語言,目前仍然在行業中佔據一席之地。不過我們也能發現,它們的受歡迎程度呈現一個曲線下降的趨勢。

作為一名開發者,Mr Herath 最喜歡的語言是 JavaScript。在一篇 Medium 文章中,他為我們分析了 2021 年可能最受歡迎的幾種程式語言。

JavaScript、Python 或者 Go?在討論每種語言的優點之前,先看一些在線調查的結果。

調查結果說明了一切

Stack Overflow 調查

Stack Overflow 每年的開發者調查是全球規模最大、範圍最全面的調查之一。2019 年的統計獲得了全球近 9 萬名開發者的數據。在最想使用程式語言的榜單中,Python 領先地位明顯,JavaScript 和 Go 語言分列二三位。

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

正如 PyTorch 急速取代 TensorFlow 的位置一樣,程式語言的流行趨勢變化也很快。

Go 語言的受歡迎程度正在快速上升,根據Stack Overflow 2020 年度開發者報告的數據顯示,在開發者最想使用的榜單中,雖然 Go 語言依然排在 Python 和 Javascript 後面,但比例較 2019 年有所上升。

圖源:https://insights.stackoverflow.com/survey/2020

GitHub 趨勢

GitHut 2.0 圖表向我們展示了自 2013 年到 2019 年之間,不同程式語言的合併請求數量變化趨勢。正如你所見,有關 JavaScript 的比其他所有語言都多,Python 排名第二,但 Go 語言的節奏根本看不出來。

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

GitHub 庫數量

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

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

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

如以上圖片所示,可以發現 Go 對開發者的吸引力越來越高。儘管它的使用人數肯定不如其他兩種語言多,但從閱讀數量和 Star 量上看都是更高的。

那麼問題來了,為什麼越來越多的開發者都在使用 GO 語言?

Go 語言的優勢

Go 語言是一種開源程式語言,它有助於開發者輕鬆地構建簡潔、可信賴和高效的軟體。2007 年,羅伯特 · 格瑞史莫、羅勃 · 派克和肯 · 湯普遜開始設計 Go 語言,並於 2009 年正式推出開源,這門語言的歷史只有短短十幾年,很長時間內它一直沒有獲得像 Python 和 JavaScript 那樣的關注度。

近年來,Go 語言的熱度日益上升,也曾兩度被評為年度程式語言。根據Stack Overflow 2019 年度開發者調查報告的數據顯示,在近 9 萬名受訪開發者中,有 67.9% 的人將 Go 語言作為他們最喜愛的程式語言之一。

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

Go 語言自身具有的優勢是受開發者喜愛的一大原因。以下是 Go 語言的一些顯著優勢:

效率高:Go 語言與 C 語言類似,開發者不需要掌握新的語法;

可以實現跨平臺運行;

簡單:Go 語言僅有 25 個關鍵詞以及較少的數據結構(沒有類別之分,只有函數和類型);

可信賴:Go 語言運行快,默認支持並行機制,模型漂亮,並且默認處理生產伺服器(production-ready server);

更新不頻繁:Go 語言即使更新,也不會出現重大的變動,並且 100% 兼容舊版本;

最後,Go 語言已經非常成熟了,它擁有內置包管理器測試框架和並行模型。

薪酬也是反映程式語言是否受歡迎的指標之一,同樣根據 Stack Overflow 2019 年度開發者調查報告的數據顯示,在哪種程式語言能夠獲得較高薪酬的排名中,Go 語言排名第三,而 Python 和 JavaScript 的排名就落後了很多。由此也反映出了 Go 語言的「錢途」。

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

所以明年該用哪個語言?

正如我們所見,Go 語言在過去幾年裡表現很好。在每個程式語言的調查中,我們都能看到除了 JavaScript 和 Python 之外,Go 吸引了大量用戶。可以預見的是,在接下來的幾個月裡,這門語言的人氣和資源會不斷增加。所以雖然人人都在用 JavaScript,但我認為 Go 語言將會是 2021 年最好的後端程式語言。

相關焦點

  • 2021程式語言趨勢預測:JavaScript、Python熱度不減,但崛起最快的...
    正如你所見,有關 JavaScript 的比其他所有語言都多,Python 排名第二,但 Go 語言的節奏根本看不出來。儘管它的使用人數肯定不如其他兩種語言多,但從閱讀數量和 Star 量上看都是更高的。那麼問題來了,為什麼越來越多的開發者都在使用 GO 語言?Go 語言的優勢Go 語言是一種開源程式語言,它有助於開發者輕鬆地構建簡潔、可信賴和高效的軟體。
  • 月入過萬的程式語言PHP、Python、Java到底該選擇哪一個
    是太陽系最好的語言php?還是在編程江湖名稱響噹噹的Python?還是很早就玩起對象模式的java?同學們是不是已經一頭霧水了呢?下面我們來分析下各個語言的優劣勢說到php,大家第一反應是「世界上最好的語言」,沒毛病,它就是啊,php是開發最快速的語言,很多中小型創業公司首選的第一語言。別的語言還在搭架構,php開發的項目已經上線了,what?
  • Python與Java,創始人特質決定語言的不同
    如果把程式語言程式語言按現代化與非現代化進行歸類,那麼c/c++之類應該屬於上古時期的非現代化類型語言,而java、python、c#、vb.net之類應該屬於現代化語言,而同屬於現代化語言的java和python也有非常大的區別。
  • Python和Java語言,新手應該先學哪個
    ,在初入門徑的時候,經常會有一個困惑,拿不定主意,是學習java呢,還是學習python?至於python語言,現在火得不行,全宇宙都知道的程式語言,吸引了不少人的眼球,各大培訓機構的標語都是大數據+python+人工智慧了,這些趁熱點的標語你看看就行了,別當真,當真你就輸了。python是個腳本語言,極其靈活,極其好學,既然這麼好,為啥不學呢?其實在編程界裡,語言的靈活,其潛臺詞就是失控。
  • 2021 程式語言「後浪」趨勢預測:崛起最快的竟然是它?
    正如你所見,有關 JavaScript 的比其他所有語言都多,Python 排名第二,但 Go 語言的節奏根本看不出來。 儘管它的使用人數肯定不如其他兩種語言多,但從閱讀數量和 Star 量上看都是更高的。 那麼問題來了,為什麼越來越多的開發者都在使用 GO 語言? Go 語言的優勢 Go 語言是一種開源程式語言,它有助於開發者輕鬆地構建簡潔、可信賴和高效的軟體。
  • 小白的福音,python程式語言的開發工具初介紹
    人生苦短,我用python程式設計師們之間的一種口號。在程式語言中python以它的跨平臺,面向對象等等特性徵服了越來越多的程式設計師。現在大數據時代,人工智慧的時代,python語言也發揮著重要的作用。很多人開始學習python,工欲善其事必先利其器,Python作為一個全球使用廣泛的程式語言,它的開發工具是非常多。今天和大家簡單聊聊幾款python語言的常用的開發工具,有興趣的朋友可以嘗試一下。PyCharm提到python語言就不得不提PyCharm軟體,PyCharm軟體是一款專業的Python軟體,在業界非常流行非常受歡迎,可以在三大平臺中使用。
  • 11月程式語言排行榜Python 勢如破竹,超越 Java?
    TIOBE 2020 年 11 月份的程式語言排行榜已經公布,官方的標題是:Python 勢如破竹,超越 Java。我們也可以看下 Google 對兩門語言的熱度分析Python 3.0 於 2008 年 12 月 3 日發布,它對語言做了較大修訂而不能完全後向兼容。
  • Go語言和Java、Python等其他語言的對比分析
    Go是由那些開發大型系統的人設計的,同時也是為了這些人服務的;它是為了解決工程上的問題,不是為了研究語言設計;它還是為了讓我們的編程變得更舒適和方便。但是結合Google當時內部的一些現實情況,如很多工程師都是C系的,所以新設計的語言一定要易學習;20年沒有出新的語言了,所以新設計的語言必須是現代化的(例如內置GC)等情況。根據實戰經驗,他們向著目標設計了Go這個語言。
  • Julia會是python的後浪嗎?
    程式語言python自上世紀九十年代誕生以來已經發展了很久。由於其動態的特徵和優良的拓展性,受到了許多開發人員的喜愛。目前,全球有超過八百萬的python開發人員使用python。「後浪」Julia一、Julia是什麼?
  • 小白的福音-python程式語言開發工具初探
    生命是短暫的,我在python程式設計師之間使用了一個口號。在程式語言中,python由於其跨平臺、面向對象等特性已經徵服了越來越多的程式設計師。現在大數據時代,在人工智慧時代,python語言也扮演著重要的角色。許多人開始學習python,很好地利用它。
  • 人工智慧寵兒程式語言python是真的火,還是炒的火?
    近些年來,python在程式語言排行榜上排名很高,我覺得主要的原因是因為Python是一門動態的腳本語言,不需要編譯,即寫即用,代碼很短,開發很迅速,python的語法也比較接近自然語言,導致很多非專業的程式設計師或一些編程小白在學習編程時後都首選學習
  • TIOBE程式語言大排行榜,Python 勢不可擋,java仍然可期
    >java,python,c++,c#,Visual Basic, javascript ,R、PHP,SQL。下面來看幾張圖了解下不同程式語言的具體情況2020年8月程式語言排行榜top10的柱狀圖:
  • Python VS Java 到底誰才是最好的程式語言?
    最新的程式語言流行榜單公布:Python一躍而上成為第一,Java第二,但也出現了下滑的趨勢,從全球範圍來看,Python目前儼然已成為最流行的程式語言,份額在過去的5年中,增長了17.9%34;1023&34;1023&34;0&34;0&34;1024&34;a&34;b&34;如果你認為編譯器可以幫你解決所有問題,那你一定幹編程沒多久&34;不管什麼程序,都需要寫testcase, 既然要寫testcase, 那麼動態類型不是問題!
  • Python爬取近十年TIOBE程式語言熱度數據並可視化
    本文介紹如何利用requests+正則表達式爬取TIOBE程式語言熱度數據,並使用openpyxl寫入數據與pyecharts時間輪播圖進行可視化。Top10 的程式語言 2009-2019 年每年的平均熱度變化。
  • Python是現在最流行的程式語言嗎?
    我告訴大家一個事實,這是一種假象,實際上現在最流行的程式語言還是java,不信我們看一下招聘網站,招聘網站上排第一的是崗位是什麼?是java,Python的位置找都找不到,那既然java是使用量最廣的,為什麼名氣卻顯得沒有Python大那?
  • Java、Python、C語言?5大熱門程式語言,我該怎麼選
    程式語言究竟多少種呢?其實是由多種程式語言結合之後的總稱,其可以對多條指令進行整合,將其變為單條指令完成輸送,整個程序更為簡便,具有較強的操作性。但是這個不是什麼壞事,入門來說,從簡入難,或者從難入簡,都是很好的選擇。• 庫:庫都是免費的,並且有很多庫和函數把編程變得相對容易很多。
  • 2020年十大物聯網程式語言
    IoTJavajava設計之初就是一種嵌入式語言,而後來的發展讓它成為了web和andorid移動端的主力語言。但是java天生就是適合做硬體設備開發的。在物聯網崛起的時候,java理所當然回歸本行,尤其是Cinterion等框架的出現,更是讓java在物聯網的道路上如虎添翼,也許java又會在物聯網上稱霸一方。
  • 學會程式語言python和linux作業系統,月薪2W不是問題?
    人工智慧的基礎就是大數據,機器需要很多數據來編程,從小白到大數據人工智慧專家的學習歷程你也可以擁有。大數據處理技術怎麼學習呢?首先我們要學會python語言和linux作業系統,但還是需要從簡單的桌面應用,web開發,自動化測試運維等開始。
  • TIOBE 11 月程式語言:Python超越Java!
    以下是 2019 年到 2020 年的搜索指數概覽: 我們也可以看下 Google 對兩門語言的熱度分析 10 月份程式語言排名前十的分別是:C,Java,Python,C++,C#,Visual Basic, JavaScript ,PHP ,R,SQL。 11 月份程式語言排名前十的分別是:C,Python,Java,C++,C#,Visual Basic, JavaScript ,PHP ,R,SQL。
  • 軟體測試工程師應該學Python還是學Java?
    目前,程式語言五花八門,比如很多人大學會學的面向過程C語言,面向對象高級語言java或者python,更為方便的腳本語言shell等等。對於測試行業來說,絕大多數從業者都會選擇兩門語言進行學習,就是java和python。很多培訓班也會選擇這兩門語言作為主要語言進行教學,比如各種java/python全棧自動化等等。