天天看點

國際觀點:Java會滅亡嗎(Will Java Die?)Will Java Die?

宇宙中的巨大雲團處會有許多新星誕生,它們中有的有幸接觸到臨近物質,然後核内開始熔化聚合;而有些卻沒有接觸到臨近物質也無法熔化聚合。對于前者,他們聚合大量物質成為明亮的星星,星光閃耀,而後者很快衰落黯淡。但是經過一段時間明星也終将耗盡聚合物質而滅亡。

程式設計語言就像星星一樣,沒有一種語言可以永遠星光閃耀,Java也不例外。雖然Java語言如此,但Java 平台卻另當别論。今天即使Java語言出現下降的趨勢,Java平台也仍比任何時候都增長得快。

       一次我在與DZone其他技術人員讨論技術問題的時候,我無意間表達了Java正處在下滑趨勢的說法。這是有許多前車之鑒的,強大的C在被C++和後來的Java擠下神壇之前也不過持續紅火了20年多的時間。Java剛進入第二個十年,我們卻已經看到了歲月滄桑和使用者不滿的痕迹。

那麼Java會滅亡嗎(Will Java Die?)

       就在這時,Rick Ross告訴我“Java并不僅是語言,是平台。”他說的很正确,Java遠不單是文法定義的語言。我們已經看到很多語言擴充或者專門運作在JVM上。JRuby和Scala 的成就已表明即使沒有Java文法甚至沒有Java庫,平台仍可繼續生存。

       在我看來Java今天達到的高度前所未有,然而我們看到Java平台的流行更在語言之上。是以Java的情形并不同于我們看到的其他語言的下場。那麼是否Java自身會衰落卻依然在平台中對其他語言扮演支援角色呢?

       這個問題我隻能說我也不知道。反正我會支援Java,即使地球上隻有三個人用它,我也是這三個人中的一個。在我看來,Java避免迷失在時間長河中的唯一方法就是,置于運作在JVM上的一種語言或多種語言中,而且能夠與Java的庫互操作。

       時間将證明一切。【編譯:玉磊】

本為原作者為Daniel Spiewak,Javalobby 編輯,也是資深Java開發者和系統管理者,在該領域已有七年以上開發經驗,擅長UI設計和P2P對等網絡。

<script type="text/javascript"> pkzone_para_Id = 'ba06690d-b05a-43f6-8074-525dd1882431'; pkzone_para_Height = '146px'; pkzone_para_Width = '449px'; pkzone_para_Style = 'http://pkzone.csdn.net/App_Themes/Default/Style/pJsReferences.css'; pkzone_para_Obverse = escape('支援');//簡短觀點 pkzone_para_Reverse = escape('反對');//簡短觀點 </script> <script src="http://pkzone.csdn.net/App_Themes/Default/Script/IanpkIframe.js" type="text/javascript"></script> id="PKZone_IFRAME_ID_0" src="http://pkzone.csdn.net/pk_JsReferences.aspx?id=ba06690d-b05a-43f6-8074-525dd1882431&style=http://pkzone.csdn.net/App_Themes/Default/Style/pJsReferences.css&Obverse=%u652F%u6301&Reverse=%u53CD%u5BF9&p_iframe_id=PKZone_IFRAME_ID_0" frame width="449" height="146">

原文如下:

This week, Daniel discusses the topic of Java's longevity. Languages are sort of like stars (the cosmic kind. Not the hollywood kind). There are giant clouds where new stars are born. Some of them will be fortunate enough to reach critical mass, and fusion will start in their cores. Others will never gain enough mass for fusion to start. For the ones that do gain critical mass, they shine very brightly... For a period of time. but eventually, they begin to die as they run out of fusion material. Like stars, no programing language can be expected to shine brightly forever.  We cannot expect that Java will be any different. Not Java the language that is. But the story is different for the Java platform. Even as interest in the Java language declines, the Java platform is growing faster than ever. So what does the future of Java really look like? - Mike, Managing Editor <script type="text/javascript"> </script>

Will Java Die?

I seem to be living a theme this week, constantly running into articles and/or discussions regarding the future of Java.  Most of these fall into one of two camps:

  • There's the "Java's doomed everyone panic camp"
  • …and there's the rose-colored "Java will live forever everyone sing"

This theme actually even carried over into a conversation I was having with the rest of the team here at DZone.  We were discussing various technologies, and I casually voiced the opinion that Java is on the decline.  Of course we've seen it before with other languages.  Even the mighty C only lasted 20-odd years before being eclipsed by C++ and (shortly thereafter) Java.  Java's just barely into its second decade and already we're seeing signs of age and dissatisfaction amongst its patrons.

I was just about to launch into a discourse on modern language features and what developers expect from a 21st century language, when Rick Ross cut across me with the statement that "Java isn't just a language, it's a platform."  Considering the emphasis which has been put on this little factoid over the last few months, I'm surprised I had forgotten it.  He's right; Java is much more than just the syntax which defines it.  We've already seen dozens of languages either ported to or written specifically to run on the JVM.  After all, VMs are hard to write, why not use someone else's?  Efforts like JRuby and Scala show that regardless of the popularity of the Java syntax or even the underlying libraries, the platform itself will live on.  But will it carry the language along with it? <script type="text/javascript"> </script>

What we're seeing today in Java is unprecedented (to my knowledge).  We're beginning to reach a point where the popularity of the underlying platform is overarching the popularity of the language which necessitated it in the first place.  This means that the situation is somewhat different from the other "language death scenes" we've witnessed over the past three decades.  Could it be that Java itself may decline, but remain significant in a supporting role for other languages built on the platform?

At this point, I'd have to say that I really don't know.  I've got to be one of three people left on earth who actually likes the Java syntax.  I think it's elegant, expressive and pleasantly restrictive.  However, even I'm sorely tempted by the whiles of hybrid functional-object oriented paradigms and extreme meta-programming.  Really, the only way Java can hope to avoid fading into the mists of time may be in one (or more) of the languages designed to run on the JVM and interoperate with its libraries.  Time will tell.v