2016年開始,標志著我們已經走過了Java的20年歷程。事實上,雖然Java宣稱是于1995年5月23日公開發行(HotJava瀏覽器卻并沒有獲得同樣的成功),但版官方JDK是在1996年的1月23日才正式發行,因此Java可以稱得上是剛滿20歲。Java身上有很多值得回顧的東西,但我想更加令人感興趣的是Java在20年之后依然能夠成功的原因。
準確測量程序設計語言的受歡迎程度是很困難的,但眾多調研統計中的一個普遍接受的指標是TIOBE指數。它能夠通過各種搜索引擎以及谷歌博客、維基百科甚至YouTube進行語言跟蹤。(在寫這篇文章的時候,我學到了一些新東西,那就是,TIOBE其實是“The Importance Of Being Ernest”的縮寫,它是奧斯卡·王爾德的一部劇作,雖然我不清楚這跟程序設計語言有什么關系)。
回顧過去十五年的成果,。TIOBE指數也剛剛宣布2015年是Java語言年,而十年之前,Java就已然獲此殊榮。
作為普及率的另外一個體現,甲骨文經常喜歡引用的統計,即世界上有九百萬的Java開發者。如果你想要找點樂子,那么請查看這篇文章,它提供了一些關于開發者數量如何達到這一數目的細節。忽略這些細節不看,我認為大家都同意全球的確有數以百萬的Java開發者。
那么,為什么Java能夠持續的受到歡迎呢? 我認為還是有一些原因的,這里我們列舉四條:
1、實用性
James Gosling將代碼并且明白其中的意思。當然,你也可以編寫可讀性差的代碼,就像你在其他語言中能做的一樣,但是使用良好的編碼風格能夠讓它比其他許多語言都有更好的可讀性。
2. 向下兼容
Sun公司和之后的Oracle(甲骨文)公司在確保一個版本的,但向下兼容對開發者來說依然是一個引人注目的特性。沒有比為了能在新版本的平臺上運行代碼而修改舊版本中的正常代碼更糟糕的事情了。這簡直是浪費時間。
3. 可擴展性/性能/可靠性
在超過20年和每年數以千計的開發者的推動和發展,,Spotify,Facebook,Scalesforce,eBay,當然還有Oracle。Hadoop,Cassandra和Spark,大數據工程的基礎框架,無不使用Java或者Scala并且在JVM虛擬機上運行的。如果你想要良好的拓展性和性能,Java和JVM是的選擇。
4. 保鮮度
對我來說這是重要的一條。查看TIOBE統計圖能夠發現,2014年10月份開始,Java的受歡迎程度有了顯著的提升,這剛好是在JDK8發行之后。JDK8對Java開發者來來說有了顯著的變化,它引入了Lambda表達式和StreamAPI。突然間的情況下以一個更加有效的方式進行開發。這些特點也使它有可能更簡單地利用多核/多處理器的機器,而不必寫很多復雜的和潛在的容易出錯的多線程代碼。隨著Jigsaw工程在為JDK9的發布而啟動,我們會看到模塊化使大企業應用程序更容易建立、部署和維護。同時在JDK10中,對于發展新的語言特性的計劃已經在進行中了,比如值的類型等等。