屢被下“病危通知”的Java,為何現(xiàn)在仍活得很好?
很早之前就有人大放厥詞“Java已死”,但是時(shí)至今日,Java仍在IT技術(shù)中占據(jù)很重要的地位。Wayne Citrin將在這篇文章中為你解析為什么Java還存活于世,并且在未來(lái)也將活得很好,不會(huì)輕易Go Die。
2010年,一位名叫Mike Gualtieri的分析師發(fā)表了一篇博客文章,聲稱(chēng)“對(duì)于企業(yè)開(kāi)發(fā)者來(lái)說(shuō),Java已是死路一條”,文章論據(jù)有力,很快就引起了轟動(dòng)。但是,在七年后的今天,Java依然強(qiáng)勁的存活著,Tiobe最新的語(yǔ)言流行指數(shù)就是最好的證明。
Stack Overflow同樣也證明了這一點(diǎn),2017年其對(duì)64000多名開(kāi)發(fā)者進(jìn)行了調(diào)查,結(jié)果顯示:Java連續(xù)5年成為繼SQL和JavaScript之后的第三大流行語(yǔ)言,同時(shí)也成為了JavaScript,SQL和C#之后的第四大行業(yè)(Web開(kāi)發(fā)人員,桌面開(kāi)發(fā)人員,系統(tǒng)管理員/ DevOps和數(shù)據(jù)科學(xué)家)。
以上眾多例子都說(shuō)明Java活得很好,為什么我們會(huì)一而再的看到有文章在表示Java將死呢?也許正如馬克吐溫所說(shuō),Java的死被夸大了。
Java EE不再是企業(yè)Java的唯一選擇
我們?cè)诮⑵髽I(yè)Java時(shí)的選擇不再僅僅是Java EE。Java EE因其使用復(fù)雜,所以其受歡迎的程度一直在降低。但是很多開(kāi)源項(xiàng)目或框架都可以代替Java EE。Spring是現(xiàn)在企業(yè)常用的框架,其Java Web 開(kāi)發(fā)的五分之四都是由Java EE以外的框架完成的。此外,Apache旗下也有很多很活躍的企業(yè)Java項(xiàng)目,其中有很多都是Java EE的替代品,還有很多能夠在Java EE 未覆蓋的區(qū)域提供服務(wù)。
當(dāng)開(kāi)發(fā)人員有更多選擇時(shí),他們往往避免使用Java EE,一個(gè)更加活躍的框架生態(tài)系統(tǒng)有助于擴(kuò)展企業(yè)Java的相關(guān)性和受歡迎程度。
Java工具的優(yōu)越性依然存在
Java存世已經(jīng)很久了,所以它有充裕的時(shí)間讓程序員開(kāi)發(fā)出很多優(yōu)秀的工具來(lái)編寫(xiě)、維護(hù)和調(diào)試代碼,如我們常見(jiàn)的Java開(kāi)發(fā)環(huán)境Eclipse、NetBeans,他們不僅使得Java更易于編寫(xiě),甚至還可以來(lái)編寫(xiě)基于Java的新興編程語(yǔ)言。
與新興語(yǔ)言相比,除非有人在已有的IDE中為其進(jìn)行了IDE擴(kuò)展,否則開(kāi)發(fā)人員無(wú)法使用各種代碼編輯器和命令行編譯以及構(gòu)建工具。有人可能不以為意,但是這些工具能夠使得開(kāi)發(fā)人員在相對(duì)簡(jiǎn)單的項(xiàng)目中變得更有效率。目前比較主流和受歡迎的構(gòu)建工具,如Maven、Gradle和sbt,盡管它們都可以用來(lái)構(gòu)建新興語(yǔ)言項(xiàng)目,但它們?nèi)允且訨ava為中心的,這也表明了Java仍然是企業(yè)編程語(yǔ)言的主導(dǎo)語(yǔ)言。
Java是連接未來(lái)的橋梁
編程語(yǔ)言層出不窮,如何才能快速掌握一門(mén)熱門(mén)的新語(yǔ)言呢?如果你掌握了Java的所有知識(shí),那么學(xué)習(xí)這些新語(yǔ)言就不是難題,因?yàn)檫@些新語(yǔ)言都可以基于Java去學(xué)習(xí)。基于Java的流行語(yǔ)言包括Groovy、Clojure、Jython和Scala等等。
開(kāi)發(fā)人員可以使用新語(yǔ)言編寫(xiě)一些程序片段,然后回調(diào)到現(xiàn)有代碼或Java代碼中,他們無(wú)需了解這些新語(yǔ)言的所有特性,就可以隨意使用這些語(yǔ)言的新功能,甚至不同程序員使用不同語(yǔ)言編寫(xiě)的代碼還可以整合在一起。
雖然,有時(shí)我們還會(huì)聽(tīng)到一些關(guān)于Java的抱怨之聲,但是這并不是Java的“病危通知書(shū)”,而是向更成熟邁進(jìn)的小門(mén)檻。我們完全有理由相信Java活得很好并將持續(xù)好下去。