在2017年即將結束之際,我們最好停下腳步來看看過去十二個月Java的發展情況。本文,筆者盤點了IT168企業級一年來對Java的跟蹤報道。
這一年對Java來說是不容易的,從Java 9一再延期備受爭議,再到拿下所有權威排行榜的前三名,Java今年發生了太多事情,飽受了很多爭論。
風平浪靜的一月
2017年開始之際,Jeff Luszcz解釋了使用“免費”Java軟件的一些陷阱以及開發者希望在Java 10中看到哪些功能。
由于一些語言服務器協議,Eclipse Che 5.0支持Java。
尚未遭遇變故的二月
我們在2月份拿到了很多頂級技術列表,主要集中在針對重要編程語言,頂尖編程語言和IT最熱門工作的調查結果。對Java 9特性的持續報道繼續介紹了JDK 9的早期訪問文檔。
本月,Google的Cloud Spanner測試版發布,完全支持Java。Oracle與谷歌的訴訟持續升溫,雙方繼續爭奪Java API。
登上最值得被學習榜單的三月
本月,Java被列為2017年最值得學習的編程語言之一。IntelliJ IDEA 2017.1加入了對Java 8的支持。另外,Stephen Colebourne解釋了為什么需要利用Java 8的優勢。
Angualr搶走關注點的四月
四月發生了什么? 本月,我們了解了Angular 4的頂級功能。
我們看了2017年的微服務趨勢,Java消亡的預測以及Java是否對初學者不利(斯坦福大學將入門編程語言從Java換成了Python)。仔細研究了Stack Overflow調查報告,發現Java從版本9到5是非常流行的。
開始出現下滑跡象的五月
本月,主要關注TIOBE指數,榜單顯示Java正在走向下滑。
其他消息包括Java的父親詹姆斯·高斯林(James Gosling)加入與AWS合資的公司。在Eclipse中,對Eclipse Oxygen的早期觀察表明,這一切都意味著Sirius更好的可用性和工作流程。
Java 9延遲消息被曝出的六月
本月是Java 9延遲消息最先發布的時候,OpenJDK管理委員會主席和甲骨文Java平臺組開發副總裁Georges Saab解釋了這其中的原因,由于委員會投票未通過導致這一結果。同時,他也表示Java 9不會在沒有Jigsaw的情況下獨自上線。
本月,Eclipse Oxygen終于發布!
為廣大Java程序員打了一劑強心針,Java雖然一直被唱衰,但不會死亡,畢竟它有其自身的獨特優勢。(《Java不被看好,前景堪憂?程序員怎么看?》)
敲定最終發布日期卻遭遇信任危機的七月
本月,Java 9終于敲定最終發布日期為9月21號,對于Java 9的一再延期,外媒采訪了圈內比較知名的Java開發大神,這十位開發者對這一事件的看法各不相同,有的認為Java 9仍然是值得期待的,有的認為根本沒想到Java 9可以通過委員會的投票,根本就不會有人使用Java 9.(《Java 9狀況百出,Java程序員大神們都忍不住發聲了!》
本月,Java 9公布了前九大改進和功能,對由于資金問題無法出現在Java 9中的JSON API進行了說明。
Java 9新一輪解讀開始的八月
由于Java 9的一再延期,多數開發者對此項目充滿了不信任。Monica Beckwith是一名Java/JVM 性能咨詢專家,他在接受訪問時表示,Java 9的亮點不是一個Jigsaw就可以概括的。Java 9加入了很多新特性,在性能等方面也有很大改進。
Java EE 8發布新功能,簡化的同時擴展了平臺范圍,以適應當前云和web開發中的新興技術。
在本月公布的IDE搜索排行榜中,Eclipse位居榜首,與Visual Studio、Android Studio一起成為了開發者搜索最多的IDE之一。
本月的TIOBE榜單中,Java的指數為12.961%,比去年同期下降了6個百分點,創下歷史新低。
本月新發布的CheerpJ可以輕松將Java應用轉換為javaScript。
Java 9終于到來但讓開發者有些失望的九月
所有的延遲都是值得的,因為Java 9終于到來了,這是本月的最大事件。
9月21日,一再延期的Java 9終于正式發布。宣傳最熱的Jigsaw似乎并沒有迅速贏得開發者的心。基于Project Jigsaw的模塊化功能引起了廣大程序開發人員的爭議,Java商店對于模塊化功能并沒有立即更新,而是保守的決定等模塊化成熟后再進行更新。
Azul Systems營銷副總裁Howard Green在采訪中表示,鑒于JDK 8的廣泛采用,他懷疑Oracle可能會延長它的壽命,特別是JDK9的采用速度遠不及JDK 8那么快時。
經歷了Java 9延期事件,Oracle的Java平臺組首席架構師Mark Reinhold提出,Java SE平臺和JDK將轉變為嚴格的基于時間模式,每六個月增加一個新功能,每季度更新一次,每三年發布一次長期支持。
此外,一組葡萄牙的研究人員在本月公布了編程語言與節能效率之間的關系,整個過程主要考慮了三個變量:執行時間、內存消耗和能耗。最終,Java成為最節能的編程語言之一。
據國外顧問機構約翰·庫克博士的預測,到2039年,Java將死亡。Java被列為21世紀即將死亡的編程語言之一。
Java EE本月正式移交給了Eclipse基金會。
Kotlin虎視眈眈喧賓奪主的十月
本月對Java來說,可謂是厄運纏身。Python與Kotlin對Java的沖擊顯然不小。這場戰爭最先由Realm引爆,Realm是一家實時移動平臺提供商,在本月發布了針對10萬多名程序員的調查結果。數據顯示,過去的四個月中,使用Java構建的Android應用程序數量下降了6.1%,該機構預測到2018年12月,Kotlin在Android領域將超越Java,這就好像Swift一步步打敗了Objective-C。(《Java被拋棄?大量安卓程序員涌向Kotlin!》)
不久后,在GitHub發布的年度報告中,Python又成功擠掉了Java上升至第二位。好在Oracle及時宣布了JDK 18.3計劃,才讓Java扳回一城。Oracle在聲明中表示,JDK9的下一個版本將更名為JDK18.3。
此外,阿里巴巴李三紅在一場公開演講中表示,阿里開發的所有Java應用程序都在運行AJDK,阿里巴巴基于豐富的Java開源定制了大部分軟件生態系統。
前三季度盤點Java穩坐前三名的十一月
11月份,大家對Java 9的關注似乎有所減少(可能是因為轉向了最新的Angular和Kotlin 1.2)。Kotlin 1.2最新版本的發布可能會進一步侵占Java的市場。
此外,作為加速發布周期舉措的一部分,Oracle宣布“大多數版本發布應至少包含一個或兩個重要功能”。為了讓Java保持相關性和現代化,Oracle為Java添加了許多新特性,同時棄用了一部分特性。(《Oracle的不斷改進使Java成為一門更完美的語言》)
本月還發布了針對Kotlin和Java用戶的輕量級Web框架Javalin,以及在開發過程中花費了大量時間的Apache Kafka。
在本月發布的針對編程語言2017年前三季度盤點中,我們總結了前三季度發布的所有權威排行榜,無論按照流行度、易用性、主流編程語言等各項指標排名,Java都是不變的前三名。(《2017年編程語言前三季度盤點:綜合所有權威排行榜及調研結果!》)
當選2018年市場需求最旺盛編程語言首位的十二月
今年即將結束,只剩下幾個故事可以講述,比如下一個Java版本將被正式稱為JDK 10。
本月,Coding Dojo發布了程序員最應意識到的前七大工作機會最多的編程語言。簡而言之,這是對2017年市場需求最旺盛的編程語言的總結,也是對2018年的預測。根據數據顯示,Java是2017年最受歡迎的編程語言,擁有6.8萬個工作機會,但是這一數字將在2018年下降至6.2萬。即便下降,該編程語言同樣是市場需求最旺盛的。(相關文章:《2018市場需求最旺盛編程語言:Java、Python、JavaScript!》)
同時,本月也重申了Java在數據科學領域的地位。由于數據科學家的高需求,Python和R語言被認為是直接受益者,其實,Java在數據科學領域同樣可以發揮巨大作用。另外,Buildship 2.2現在支持Java 9。(《強心針:Java在數據科學領域同樣是王者!》)
展望未來
Java在未來一年還有哪些值得期待的事情呢?根據Oracle的計劃,2018年3月底或4月初,Java 10似乎將準備就緒。新版Java最有可能包含的特性是目前處于目標狀態或建議目標狀態的JEP。主要涉及以下功能:
·局部變量類型推斷
·將JDKForest 合并到單個存儲庫中
·垃圾收集器接口
·G1的并行完整GC
·應用程序類數據共享
·Thread-Local Handshakes
然而,未來一年到底會發生什么顯然不是可預測的。對Java來說,2017年是偉大的一年,讓我們共同期待接下來會發生什么吧!