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