微軟:VS Code已成為Java巨頭!
原創(chuàng)作者 | 言征
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
在Java領(lǐng)域,微軟氣候已成!時(shí)至今日,它已經(jīng)成長(zhǎng)為Java巨無(wú)霸。
12月5日,微軟官方發(fā)布了一個(gè)里程碑式的消息:Visual Studio Code 已經(jīng)擁有超過(guò)250萬(wàn)開(kāi)發(fā)人員的社區(qū)。
250 萬(wàn)是一個(gè)相當(dāng)大的成就。根據(jù)WordPress的托管解決方案服務(wù)商Kinsta統(tǒng)計(jì),全球的Java開(kāi)發(fā)人員大約有 900 ~ 1000 萬(wàn)。
據(jù)微軟此前披露的數(shù)據(jù),2021年,VS Code的Java開(kāi)發(fā)者數(shù)量150萬(wàn)(同時(shí)還有 200 萬(wàn) Python 開(kāi)發(fā)者、 100 多萬(wàn) C++ 開(kāi)發(fā)者),2022年,Java開(kāi)發(fā)者數(shù)量是200萬(wàn)。發(fā)展速度可謂相當(dāng)迅猛。
那么,微軟這些年究竟對(duì)VS Code做了什么?
一、做大Java,VS Code的三大階段
1.初始版本,基本齊全
早在7年前,2016年9月,微軟就已經(jīng)向Visual Studio Code市場(chǎng)發(fā)布了Java語(yǔ)言支持?jǐn)U展的初始版本,當(dāng)時(shí)這個(gè)版本具備一些通用而有趣的功能列表,比如Maven項(xiàng)目、代碼補(bǔ)全、Javadoc 懸停、代碼導(dǎo)航、代碼參考、高亮等,吸引了一波Java開(kāi)發(fā)者的加入。
圖片
此后,微軟團(tuán)隊(duì)保持著每月1-2次的發(fā)布周期。
2.里程碑:Red Hat加入,如虎添翼
2021年,VS Code迎來(lái)了一個(gè)新的里程碑事件: Language Support for Java? by Red Hat 的1.0版本發(fā)布。RedHat開(kāi)始進(jìn)入微軟的 Visual Studio Code,并發(fā)布了 Java 語(yǔ)言支持計(jì)劃,為 Java 17 提供了官方支持。
微軟開(kāi)發(fā)部門(mén)高級(jí)項(xiàng)目經(jīng)理Nick Zhu興奮地在博客中寫(xiě)到:“我們相信這是Java對(duì)Visual Studio Code支持的一個(gè)重要里程碑,也是微軟、Red Hat以及整個(gè)Visual Studio Code和Java社區(qū)多年合作的結(jié)果?!?/p>
圖片
眾所周知,VS Code對(duì)Java的支持來(lái)源于擴(kuò)展 Extension Pack for Java,而Java?by Red Hat的語(yǔ)言支持是Java擴(kuò)展包的一個(gè)基本部分,提供了Java代碼編輯、完成、重構(gòu)和導(dǎo)航等基本組件。
在過(guò)去的幾年里,微軟一直在與Red Hat密切合作,并為Java語(yǔ)言服務(wù)器添加新功能。并致力于提高語(yǔ)言服務(wù)器的穩(wěn)定性。
此次1.0的發(fā)布,目標(biāo)是在Visual StudioCode上提供最好的Java開(kāi)發(fā)體驗(yàn)。
除了主要的Java17支持外,微軟還基于語(yǔ)言服務(wù)器構(gòu)建了各種Java擴(kuò)展,并擴(kuò)展了Visual Studio Code上的Java工具功能,包括項(xiàng)目管理、對(duì)Maven/Gradle的構(gòu)建工具支持以及更好的測(cè)試支持。
3.微軟發(fā)布自己的Java21
進(jìn)入到2023年,微軟繼續(xù)加碼Java,在10月發(fā)布了微軟自己的Java21LTS版本。
圖片
微軟 Java 工程組首席 PM 經(jīng)理Bruno Borges表示:微軟版本的 Java 21包括語(yǔ)言和虛擬機(jī)規(guī)范的更改,包含一系列使Java 21與許多以前版本不同的功能,當(dāng)中就包括LLM的功能接入。
同時(shí),人們也將此版本看成微軟擁抱開(kāi)源的又一案例。有分析師評(píng)論道:“隨著 OpenJDK 21 向社區(qū)開(kāi)放,微軟可以將其作為自己的 JDK 的一部分自由發(fā)布,并提供 21 版必須提供的所有新功能,并受到其自己的長(zhǎng)期許可計(jì)劃的支持?!?/p>
二、微軟的Java野心未來(lái)6個(gè)月的路線圖
背靠250萬(wàn)Java開(kāi)發(fā)者,微軟擁抱Java的力度進(jìn)入了新階段。為了紀(jì)念這一里程碑,這家軟件巨頭跟RedHat發(fā)布了未來(lái)六個(gè)月的路線圖。
圖片
首先在基礎(chǔ)開(kāi)發(fā)體驗(yàn)方面,該團(tuán)隊(duì)提出了對(duì)于Java 21的全面支持、增強(qiáng)的Java代碼庫(kù)導(dǎo)航、新的高級(jí)調(diào)試功能的幾個(gè)方面,
除了 JDK 21的全面支持之外,VS Code還將致力于解決可靠性問(wèn)題——據(jù)稱(chēng),這是 Java 開(kāi)發(fā)者最常提到的問(wèn)題之一。Nick在博客中表示:“我們希望提高平臺(tái)的穩(wěn)定性,以便您可以專(zhuān)注于代碼,而不必?fù)?dān)心語(yǔ)言服務(wù)器故障或崩潰,或代碼補(bǔ)齊故障。” 團(tuán)隊(duì)的目標(biāo)是為用戶(hù)構(gòu)建穩(wěn)定一致的編碼體驗(yàn)?!?/p>
對(duì)于兼容性問(wèn)題,VSCode將致力于改善 Gradle 開(kāi)發(fā)人員體驗(yàn)并優(yōu)化性能,比如項(xiàng)目導(dǎo)入成功率的問(wèn)題。值得一提的是,微軟剛在11月初宣布了開(kāi)源項(xiàng)目Build Server for Gradle。Nick稱(chēng)將繼續(xù)在此項(xiàng)目的基礎(chǔ)上進(jìn)行構(gòu)建,以確保Visual Studio代碼中的構(gòu)建結(jié)果與運(yùn)行Gradle命令獲得的輸出一致,這最終將提高可組合性。
增強(qiáng)的代碼智能補(bǔ)齊也是一個(gè)值得期待的功能。這里,Copilot 終于在博客中出現(xiàn)了:
“在接下來(lái)的幾個(gè)月中,我們將探索如何利用GitHub Copilot Chat來(lái)增強(qiáng) Java 開(kāi)發(fā)體驗(yàn),無(wú)論是查找錯(cuò)誤、編寫(xiě)單元測(cè)試、幫助調(diào)試代碼、添加依賴(lài)項(xiàng)還是管理 Java 項(xiàng)目?!?nbsp;
圖片
博客最后還提到了12月正式可用的Github Copilot Chat。Nick稱(chēng),開(kāi)發(fā)人員很快將能夠與GitHub Copilot和GitHub Copilot Chat集成,以擴(kuò)展他們的功能?!癡isual Studio Code Java也不例外,在接下來(lái)的幾個(gè)月里,我們將探討如何利用GitHub Copilot Chat來(lái)增強(qiáng)您的Java開(kāi)發(fā)體驗(yàn),無(wú)論是發(fā)現(xiàn)錯(cuò)誤、編寫(xiě)單元測(cè)試、幫助調(diào)試代碼、添加依賴(lài)項(xiàng)還是管理Java項(xiàng)目。”
圖片
三、Java在微軟的進(jìn)化史
微軟與Java的恩怨歷史非常有時(shí)代色彩,從微軟與Sun之間的碰撞,再到如今的坐擁250萬(wàn)之眾的Java開(kāi)發(fā)者,我們看到了巨頭越來(lái)越明顯的開(kāi)源生態(tài)取向的轉(zhuǎn)變。不管是Linux還是Java,都表現(xiàn)得非常積極。
圖片
2008年開(kāi)始,微軟就開(kāi)始了對(duì)Java的投入,包括搜索引擎Bing和微軟云Azure,并后續(xù)在2013年,Azure 成為了第一個(gè)擁有OenJDK商業(yè)支持的云平臺(tái)。
在納德拉領(lǐng)導(dǎo)下,Azure進(jìn)一步加快了開(kāi)放的步伐,拓展了Eclipse和Intellij的Toolkit支持。并跟VMware建立了伙伴關(guān)系,2016年微軟還加入了Eclipse基金會(huì)。
接下來(lái)2019年,微軟各種重磅的Java發(fā)布:比如Azure Spring Apps、Red Hat JBoss EAP支持,2021年發(fā)布 Microsoft Build of OpenJDK,
2022年,微軟宣布在內(nèi)部已經(jīng)有超過(guò)200萬(wàn)JVM在產(chǎn)品上運(yùn)行,并發(fā)布了針對(duì)Azure App的Java17支持。
正如微軟集團(tuán)首席工程經(jīng)理Martijn Verbur所說(shuō),“微軟對(duì)開(kāi)源生態(tài)系統(tǒng),特別是Java的積極態(tài)度,表明了他們幫助開(kāi)發(fā)人員實(shí)現(xiàn)更多目標(biāo)的無(wú)限熱情?!?/p>
四、為什么微軟可以做到
從上述Java在微軟的進(jìn)化史就可以看出,微軟Bing和Azure的發(fā)展,是驅(qū)使該公司采納和擁抱Java的客觀原因。
同時(shí),微軟還通過(guò)與IBM、Oracle、Red Hat和VMware等行業(yè)領(lǐng)導(dǎo)者的戰(zhàn)略合作伙伴關(guān)系對(duì)Java生態(tài)系統(tǒng)發(fā)起“猛攻”,作出了重要的貢獻(xiàn)。
當(dāng)然,最重要的是,這家軟件巨頭的研發(fā)實(shí)力始終在線,始終站在科技發(fā)展的最前沿,在重新定義Java的遷移、現(xiàn)代化和整體開(kāi)發(fā)體驗(yàn)方面都處于領(lǐng)先地位,比如對(duì)PaaS服務(wù)、遷移工具的強(qiáng)大支持。再比如,生成式AI時(shí)代,微軟與OpenAI、Meta、英偉達(dá)等多家頭部企業(yè)的縱橫捭闔,成功讓Copilot技術(shù)向前邁進(jìn)。
在今年11月的微軟Ignite上,微軟更是宣布:微軟將通過(guò)生成式AI和Copilot技術(shù)徹底改變Java開(kāi)發(fā)的方式!
五、彩蛋:Java排名跌了
11月,編程TIOBE排名出來(lái)了。Java的排名較去年相比,下滑了一名,C++迎頭補(bǔ)上。
圖片
細(xì)心的朋友可能會(huì)發(fā)現(xiàn),Java近兩年的TIOBE指數(shù)一直有下降的趨勢(shì)。據(jù)流行的排行榜統(tǒng)計(jì),Java 的TIOBE 指數(shù)從 2020 年的第1名下降到最新迭代的第4名。Python、C 和 C++ 已經(jīng)躍居其上,而 C# 緊隨其后。
圖片
但微軟并沒(méi)有放松對(duì)于Java的投入,歸根結(jié)底,還是Java作為編程領(lǐng)域的扛把子,擁有著大量充滿(mǎn)熱情的開(kāi)發(fā)人員和豐富的開(kāi)發(fā)生態(tài),不能等閑視之。
不過(guò)令人吃驚的是,微軟對(duì)于Java的野心,實(shí)現(xiàn)的速度之快,的確值得眾多IDE深思。