2020年Java語言發(fā)展現(xiàn)狀_第1頁
2020年Java語言發(fā)展現(xiàn)狀_第2頁
2020年Java語言發(fā)展現(xiàn)狀_第3頁
2020年Java語言發(fā)展現(xiàn)狀_第4頁
2020年Java語言發(fā)展現(xiàn)狀_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、2020年Java語言發(fā)展現(xiàn)狀作者 | Valeriia Karpenko譯者|劉雅夢策劃|陳思今年,Java到達了一個不可思議的里程碑,達到了 25歲的高齡。我們 通過舉辦一個特別的在線Java日活動來慶祝它的誕生,在該活動中, 許多專家演講者分享了他們的經(jīng)驗,并就如何從這門語言中獲得更多收 益提供了技巧和竅門。這引起了我們的思考,我們決定對數(shù)據(jù)進行深入研究,以徹底發(fā)現(xiàn) Java的普遍狀態(tài)是什么,并幫助你回答一些亟待解決的問題。我們發(fā) 現(xiàn)的某些內(nèi)容可能是不足為奇的,但也有些見解是令人非常意想不到 的。隨著Java 15在本周的發(fā)布,我們決定把它放在一起,向你展示Java 的狀態(tài)。這篇文章是根

2、據(jù)不同來源的數(shù)據(jù)而創(chuàng)建的,其中包括我們的開 發(fā)人員倡導者Trisha Gee的專家評論。Java開發(fā)者有多少,他們分布在哪里?第一個問題是:“大多數(shù)的Java開發(fā)人員都在哪里,我們中有多少人是 Java開發(fā)人員呢? 我們通過綜合所能獲取到的最準確的信息來回答這 個問題,然后進行推斷,得出一個我們認為非常合理的猜測。市場研究和分析團隊根據(jù)開發(fā)人員估算模型得出的最佳估計顯示,當今 世界上有大約520萬專業(yè)Java開發(fā)人員,他們將Java作為主要語 言。但是,如果我們將主要使用其他編程語言但同時也做一些Java工 作的專業(yè)開發(fā)人員也包含在內(nèi)的話,這個數(shù)字可能接近680萬。至于這些Java開發(fā)人員都集

3、中在什么地方,在亞洲居住的Java開發(fā) 人員數(shù)量最多,那里大約有250萬開發(fā)人員使用Java作為主要語言。 北美和歐洲的數(shù)字遠不及亞洲。你可能會問:“為什么呢? ”好吧,起初 我們有也有同樣的想法,因此我們對這些區(qū)域進行了更深入的研究,以 確切地了解這些數(shù)字的來源。哪個國家的Java開發(fā)者最多?我們進一步研究了擁有最多Java開發(fā)人員的各個國家,然后調(diào)查了為 什么這些國家在專業(yè)開發(fā)中特別喜歡Java而不是其他語言。下圖顯示了每個國家使用Java作為主要語言的開發(fā)人員的百分比(用 于收集此數(shù)據(jù)的調(diào)查對象最多可以選擇3種主要語言)。中國和韓國 的數(shù)值最高,分別約為51 %和50%。數(shù)據(jù)來自2020

4、年開發(fā)者生態(tài)系 統(tǒng)狀況調(diào)查。專家分析Java在前6個國家如此流行的原因可能包括Java是免費使用的、政府 支持和開源。對于中國、西班牙和巴西尤其是這樣。它是在中國和 印度進行Android移動開發(fā)的基礎(chǔ),并且雇傭海外人員用Java開發(fā)手 機應用程序非常普遍,這可能是印度使用量達到峰值的原因。德國的 使用率也很高,這可以歸因于Java在德國軟件工程師中是最流行的語 言,因為多種行業(yè)都使用Java來構(gòu)建高度可擴展的應用程序。大多數(shù) 企業(yè)服務都依靠Java來驅(qū)動應用程序支持日常業(yè)務的運行,例如工資 單、庫存管理、報表等。德國還有一個龐大的金融部門,在本國技術(shù)上 大量使用Java,例如交易機器人、零售

5、銀行系統(tǒng)以及金融業(yè)為了保持 競爭所需要的其他應用程序。我們本以為美國會有很高比例的Java用戶,但是并沒有,這也是很合 理的。有大量的技術(shù)??晒┻x擇,而且很多技術(shù)公司通常處于這些技術(shù) 棧的最前沿,因此那里的開發(fā)人員可能不需要Java的強大功能或穩(wěn)定 性,而是使用能讓他們進行快速構(gòu)建和測試等的語言。Java在開發(fā)行業(yè)中的位置根據(jù)2020年開發(fā)者生態(tài)系統(tǒng)狀況調(diào)查,有超過三分之一的專業(yè)開發(fā)人 員將Java用作主要語言,而Java在專業(yè)開發(fā)人員當中仍然是僅次于 JavaScript的第二大主要語言。專家分析看到JavaScript和Java處于領(lǐng)先地位,這并不奇怪,因為它們是成對 的:使用Java的開

6、發(fā)人員經(jīng)常使用JavaScript編寫前端和任意快速腳 本。由于機器學習的普及,Python可能排名第三。一般來說,我們希 望Web成為開發(fā)人員生態(tài)系統(tǒng)的重要組成部分,因此JavaScript. HTML和CSS以及PHP將始終能擁有穩(wěn)固的地位。SQL也會一直存 在,因為沒有多少東西是不需要某種容量的數(shù)據(jù)庫的。C+也是一種堅 實的語言,因為它被用于許多嵌入式應用程序中,因此它不會很快在圖 表中消失。雖然C#似乎正在逐漸衰落,但我想如果Java比例高,C# 就會低,因為它們在功能上非常相似。至于為什么我認為Java在專業(yè) 發(fā)展領(lǐng)域如此之高,原因與之前提到的德國類似。大多數(shù)企業(yè)的業(yè)務服 務都依靠J

7、ava來運行。它不僅僅用于IT部門,幾乎每個公司,無論是 分銷、制造還是銀行業(yè),都將IT服務作為其基礎(chǔ)設(shè)施的一部分,而這 些服務,如工資單或庫存管理,通常都是在后端使用Java構(gòu)建的。因 此,Java被這些公司的專業(yè)開發(fā)人員所大量使用。用Java開發(fā)的軟件類型快速瀏覽一下用Java開發(fā)的軟件類型,應該可以了解它的使用統(tǒng)計信 息。根據(jù)2020年開發(fā)者生態(tài)系統(tǒng)狀況調(diào)查的結(jié)果,Java使用最流行的 領(lǐng)域是Web服務,占52%。專家分析看到Java在商業(yè)智能/數(shù)據(jù)科學/機器學習中如此流行,真令人驚 訝,因為你可能認為這將是Python的領(lǐng)域。其他的就不足為奇了,因 為Web服務的后端通常是Java,而

8、且使用Java編寫業(yè)務應用程序也 很有意義,因為它們也需要使用后端和數(shù)據(jù)庫。使用Java的熱門行業(yè)既然我們知道了為什么這么多專業(yè)開發(fā)人員使用Java,那么讓我們具 體看看Java應用于哪些行業(yè)。根據(jù)2020年開發(fā)者生態(tài)系統(tǒng)狀況調(diào)查,Java程序主要用于IT服務 (42%)與金融和金融科技領(lǐng)域(44%),但這并不是說Java沒有用于其他行業(yè)。專家分析金融和金融科技領(lǐng)域主要涉及金融交易所、零售銀行系統(tǒng)、創(chuàng)建計算引 擎以及開發(fā)本地定制工具和服務,以使公司在市場上具有競爭力。金融 和金融科技幾乎都是用Java建立的,所以在這里沒有什么好驚訝的。 IT服務也是如此,因為許多針對非IT公司的薪資系統(tǒng)和庫存

9、管理服務 都是基于Java構(gòu)建的。其他行業(yè)也很有趣。由于Android的存在,移 動開發(fā)的比例可能很高,因此Java正以這種方式被使用。大數(shù)據(jù)和數(shù) 據(jù)分析也非常有趣,因為該行業(yè)是由Python主導的,但是后端可能會 使用Java和JVM語言。當然構(gòu)建軟件開發(fā)工具也可以。JetBrains IDE目前是用Java構(gòu)建的。盡管其他行業(yè)有點神秘,但實際上,了解 Java在這些行業(yè)中的使用方式將非常有趣。Java相關(guān)工具Java版本Java 8仍然是最受歡迎的版本。在使用Java作為主要語言的專業(yè)開發(fā) 人員當中,有75%的人使用Java 8?;陂_發(fā)人員在2020年開發(fā)者 生態(tài)系統(tǒng)狀況調(diào)查中選擇的幾個

10、版本,下圖顯示了 Java版本的分布情 況。專家分析有幾個因素導致了 Java 8的如此流行。首先,它擁有典型的Java開發(fā) 人員所需要的所有語言,它具有l(wèi)ambda和流,并且它是一個很好的易 于使用的版本。另外,人們一直不愿意遷移到Java9。Java9引入了一 些重大的架構(gòu)更改,人們擔心這些更改會破壞他們用Java 8構(gòu)建的應 用程序。最重要的是,Oracle還推出了每兩年發(fā)布一次的版本,因此并 不是所有版本都是長期受支持的,因此Java 9、Java 10、Java 12和 Java 13僅受6個月的支持,這可能就是為什么它們都只有這么少用戶 的原因。Java 13之所以如此之高,是因為

11、當本調(diào)查公布時,它是最新 的版本,因此你可以預期,該數(shù)字將在兒個月后下降。Java 11發(fā)布于2018年,它是長期受支持的最新版本。許多企業(yè)仍未 遷移到它,因為他們擔心超過Java 9 (由于其架構(gòu)的更改)會破壞一 切,而且Java 11引入了新的許可和新的訂閱,因此它帶來了一個新的 恐懼:更擔心如果使用了錯誤的版本,以錯誤的方式使用它,Oracle會 對你進行罰款。許多開發(fā)人員沒有升級到Java 11的最后一個主要因素 是,它沒有很多令人興奮的新功能,因此該語言的功能并沒有降低升級 的風險。Java 17將是下一個擁有長期支持的版本,并帶有許多新功 能,但是直接從Java 8升級到Java

12、17也會帶來一些問題。我的預測是,我認為下一個長期版本Java 17將比上一個LTS (長期支 持版本)Java 11更受歡迎。不過,作為Java 17的準備,這一點我再 強調(diào)也不為過,建議你先將代碼庫更新到Java 11,然后再更新為Java 17,以避免出現(xiàn)大問題。流行的應用服務器在過去的3年中,Apache Tomcat仍然是最受歡迎的應用服務器,而 JBoss EAP和WildFly的使用量卻減少了一半。給出的數(shù)據(jù)來自參加 2018年和2020年開發(fā)者生態(tài)系統(tǒng)調(diào)查的所有以Java為主要語言的 開發(fā)人員。專家分析Jetty位居第二,但它確實低得令人驚訝??赡苁悄承┱谑褂肧pring B

13、oot和其他微服務框架的開發(fā)人員沒有意識到他們到底在使用使用,他 們可能在不知不覺中使用了 Tomcat或Jetty。排名前5的Web框架在 2018 年,Spring Boot 與 Spring MVC 是一樣流行的,到了 2020 年,它變得更加流行。給出的數(shù)據(jù)來自所有使用Java作為主要語言的 開發(fā)人員。專家分析這基本上只是在證實Spring擁有市場。幾乎可以肯定的是,仍然有人 在使用Struts 1,但它只是用于遺留應用程序。排名前5的分析器2020年開發(fā)者生態(tài)系統(tǒng)狀況調(diào)查顯示,有24%的用戶使用 VisualVM,而一半的用戶則沒有使用。給出的數(shù)據(jù)來自所有使用Java 作為主要語言的

14、開發(fā)人員。排名前5的IDE/編輯器2018年和2020年的開發(fā)者生態(tài)系統(tǒng)調(diào)查顯示,IntelliJ IDEA的份額 從2018年的55%增加到2020年的72%,而其他四個的使用率則有 所下降。專家分析不過,即使我們對調(diào)查結(jié)果進行了加權(quán),但我們并不否認這些信息可能 會有些偏差,因為這是來自JetBrains開發(fā)者生態(tài)系統(tǒng)狀態(tài)調(diào)查,而 JetBrains的一個主要產(chǎn)品就是IntelliJ IDEA。然而,這并不是說這并 非完全不合理,就好像我們在其他調(diào)查中看到的一樣,IntelliJ IDEA通 常是使用最多的IDE之一,并且通常擁有約55-60%的用戶份額。VS Code正在增長,這不是從競爭

15、的角度來看的,而是從缺乏對IDE的理 解的角度來看的。VS Code是一個代碼編輯器,帶有一些你可以在IDE 中找到的特性,并且可以提供附加功能的擴展。因此,如果人們使用 VS Code進行開發(fā),則可能意味著開發(fā)人員不知道一個功能齊全的IDE 能給他們什么。在Web領(lǐng)域,使用編輯器是可以理解的,因為Web開 發(fā)人員通常使用動態(tài)語言,并且經(jīng)常使用其他工具(例如瀏覽器插件) 來滿足他們的需求。但是在Java中,特別是在專業(yè)的Java中,你確 實可以從一個與應用程序服務器集成的優(yōu)秀工具中得到很多東西,你可 以真正使用分析、重構(gòu)等功能。我們專家的最新消息我發(fā)現(xiàn)有很多對本博客文章數(shù)據(jù)分析進行刪減和編輯的

16、版本,這是我無 意間造成的混亂。我想澄清一下我對開發(fā)人員和IDE評論背后的意圖。 對我來說,如果開發(fā)人員不理解IntelliJ IDEA作為一個功能齊全的IDE 給他們帶來了什么,那對我來說就是一個失敗,因為這六年來我的工作 就是讓開發(fā)人員了解IDE (特別是IntelliJ IDEA)能為你做什么。我強 烈地認為,人們不應該因為不了解產(chǎn)品而責備用戶或潛在用戶。我個人對IDE的觀點來自擁有20多年Java開發(fā)經(jīng)驗的Java開發(fā)人 員,他們開發(fā)過各種大大小小的Java項目。如果沒有像IntelliJ IDEA 這樣的IDE提供大量的幫助,我無法想象如何創(chuàng)建一個復雜的企業(yè)應用 程序。我也見過很多開

17、發(fā)人員使用VS Code,并且我完全了解代碼編輯 器所涵蓋的用例。在你的工具箱中總有能容納多于一種的工具,了解某 個工具的優(yōu)點將有助于我們?yōu)檎_的工作選擇合適的工具。討論最多的Java工具和其他語言在IT社區(qū)中會經(jīng)常討論Java,其中的一個社區(qū)就是Stack OverfloWo 我們從“問答”部分中獲取了數(shù)據(jù),以找出哪些標簽與“java”最相關(guān)。縱 軸表示提到Java的次數(shù),橫軸表示標簽出現(xiàn)的總次數(shù)。專家分析對于那些希望確保自己使用了正確的技術(shù)或正尋找適合自己的工具的用 戶來說,這個圖表可能很有用。這些語言很有意思,但這可能是因為人 們正在尋找Java與其他語言之間的比較。正則表達式是人們苦苦掙扎 的一個利基領(lǐng)域,但它能上榜也就不足為奇了。Java社區(qū)的熱門話題Java的討論我們分析了 Reddit上“java”子版塊的帖子,并發(fā)現(xiàn)了 Java用戶在 Reddit上討論最多的主題。專家分析這些正是我期望看到的話題。例如,用Java編寫代碼的人總是會對這 種語言是否仍然有需求感興趣,畢竟,這種語言還在發(fā)展。我們剛剛慶 祝了 Java誕生25周年,因此人們希望檢查它是否過時了,以及它是 否仍然有效。特別是,如果他們剛從大學畢業(yè),還不知道他們所學的語 言是否能為他們提供工作機會。在容器中部署Java是一個非常熱門的 話題,包括我在內(nèi),這是每個人都想知道的東西,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論