Categories
程式開發

2019年 Java 調查報告:Java 8 仍然最受歡迎


儘管Java被稱為編程語言的“老馬”,但它仍在不斷發展。

在Tiobe排行榜中,它仍然是的第一名,在PYPL和RedMonk排行榜上則在與Javascript和Python爭奪第二名的位置,按照GitHub上庫貢獻者的數據來看,它是第三大最受歡迎的語言(根據GitHub的10年數據)。

時光在變,Java一直沒變,過去企業在談Java,現在還是在談Java,這一點可以在財富500強企業的技術棧中得到驗證。

為什麼Java能夠一直流行呢?其中的原因有很多,例如企業最看重的是向後兼容性,眾所周知,向後兼容性對重大的更新和升級非常敏感,而20年前用Java 5編寫的系統還是能夠在Java 8下編譯和運行。

那麼,2019年Java的發展如何呢? Baeldung調查了6707名開發經驗豐富的技術人員,並從中獲得了一些結論。

使用版本:Java 8 仍然最受歡迎

從Java 8 之後,Java的發布週期明顯快了很多,現在已經快要到Java 14了。你可能會認為大多數人已經切換了更新版本的Java了,但實際情況並非如此,根據調查顯示,80%的受訪者仍然在使用Java 8。

2019年 Java 調查報告:Java 8 仍然最受歡迎 1

為什麼即使有了新版本,Java 8 仍然最受歡迎呢?這其中有很多原因:

首先,Java 8 開創性的語言特性(參見我的閉包和Lambdas書評)仍然在被編程社區吸收。即使到了2019年,關於Steam和Optional的相關問題仍在網上被熱烈討論,Baeldung自己也發布了Java 8 Optional指南

其次,Java 9 首先支持的新模塊系統使人們感到困惑,而不是使他們感覺更輕鬆。

第三,在後來的Java版本中引入的特性似乎沒有足夠的說服力讓大家下決心切換。

最後,還存在一個大問題,在2019年1月份之後,Java SE 8的公共更新需要商業許可。這就是Oracle JDK與OpenJDK之爭的開始,正如我們在之前的文章中所說的:

隨著Oracle JDK發行和支持的變化,是使用Oracle JDK,還是Oracle的OpenJDK,或者是其他供應商的OpenJDK,這中間在權限上存在著相當大的不確定性。此外,在不同的供應商那裡是否可以得到免費更新的相關計劃,以及(新的和現有的)付費的支持模型,這些都要予以考慮。

框架:Spring 佔據主導地位

在框架的採用方面,Spring佔據了主導地位。與傳統且臃腫的Java EE相比,Spring 是現代化的、基於Java的企業應用程序的輕量級框架。 Spring Boot的採用率也很高。

構建工具:Maven 斷層式第一

在Java 構建工具的調查中,Maven 以相當大的優勢排在了第一位,這表明排在第二位的Gradle仍然是Android的代名詞,之後需要做更多的努力來擺脫這些限制,以便被認為是Java構建通用實踐的一個可行的選擇。

IDE:IntelliJ 大比例佔據一位,Eclipse份額持續下降

在IDE的調查中,IntelliJ以將近60%的份額佔據了第一的位置,為什麼IntelliJ如此受歡迎呢? Andrey Cheptsov 曾在一篇博客中這樣寫道:“在你編寫代碼時,IntelliJ IDEA也忙著在構建它的語法樹,在類、變量、字段、方法和它們的用法之間創建引用,分析執行流,利用這些信息,它可以提供補全功能,幫助你快速瀏覽代碼,提供錯誤分析和方便的快速修復。”

而傳統的Eclipse 則有點不妙,其占比從去年的38%下降到32.8%

Web/應用服務器:Tomcat 佔據第一

早在2011年,Forrester的首席分析師Mike Gualtieri 副總裁就寫過一篇既有預見性又不受時間限制的文章,名為《停止在WebLogic、WebSphere和JBoss應用服務器上浪費金錢

他開頭寫道:

“使用Apache Tomcat吧,它是免費的。

我不明白為什麼有些公司要在Oracle Weblogic或IBM WebSphere Application Server這樣的Java應用服務器上花費數百萬美元。我明白為什麼有些公司要在Red Hat JBoss上花錢,因為他們想要節省在應用服務器上的開銷。但是,為什麼要花錢呢? Apache Tomcat將滿足大多數Java web應用程序的部署需求。 ”

2019年 Java 調查報告:Java 8 仍然最受歡迎 2

該表反映了這種說法:Tomcat一直保持著輕量級的資源消耗,毫無爭議地擊敗Jetty 奪得冠軍。那些重量級產品的位次反映了它們那個年代已經過時的需求。

其他JVM語言:Java的使用率未發生變化

首先,讓人感到有些驚訝和有趣的是,有62.6%的開發人員只使用Java,這與去年不相上下(62.8%)。考慮到大家對Kotlin的大量採用,我的預期是這個數字肯定會下降,但現在看來並沒有下降。不過,Kotlin仍然從去年的13%增長到了現在的16.5%。和Gradle一樣,Kotlin完全可以作為一種通用語言來用,尤其是在後端環境中,但在安卓之外它仍然未被接受得到普遍應用。

數據庫:關係型數據庫比NoSQL更受歡迎

MySQL和PostgreSQL是前兩名,Oracle是第三名,MongoDB和MS SQL是第四和第五名。這裡有兩個值得注意的趨勢。與Percona的數據庫管理系統流行度調查結果一致,關係型數據庫管理系統勝過NoSQL,而開源數據庫管理系統則比大型商業數據庫管理系統做得更好。就像前文中的Web服務器一樣,人們尋求的也是更輕量級的等價物,尤其是PostgreSQL。

總結

總而言之,根據調查結果顯示,Java不會被取代,在未來幾年也將在繼續保持Top 3的位置。不妥,儘管人們仍然堅持使用該語言及其圍繞它的生態系統,但他們也在試圖遠離Oracle及其產品,如IDE(JDeveloper)、服務器(WebLogic)、JDK及其旗艦數據庫。 MySQL是個特例,因為它基本上不受甲骨文所有權的影響。大多數Java用戶正在尋找更輕量級、更高效、更便宜、對開發人員和許可更友好的等價物,這些等價物完全比得上Oracle的同類產品,甚至更好。

原文鏈接:How is Java Doing?