Java是平臺而非產品:可添加型概念需改變
原創【51CTO快譯】本文是JavaLobby上的一篇文章,作者Mohamed El-Beltagy是一個忠實的Java程序員。正如同大部分Java程序員一般,他對于Java語言的不斷更新與添加新功能既感到興奮,又感到有些力不從心。他認為Java的確需要更新,從而提升自己的競爭力。不過正如同這個帖子中所提到的,Java的更新有時的確添加了很多不必要的內容,這使得Java語言愈發龐大而且難以維護。如今JDK 7中的一些功能已經可以使用,對于JDK 7以及Java之后的情況,本文作者表達了如下看法:
今天讀關于JDK 7和語言的一些新變動的文章時,我偶然發現這則InfoQ的文章。不過真正引起我注意的是后面的***個跟帖:
“這是Java有意思的地方,是‘可添加’型文化觀念。” Vic C如是說。
幾分鐘前我剛閱覽了Alex Miller - Java 7頁面,當時我也是這么想的,不過想到的是好的方面。千萬別誤會,對我來說Java就是生命的一部分。
我想說的是:
我們一直在添加、尋求添加、也已經給語言添加了不少功能,但是還是存在向后兼容能力問題。我得說這很不妙。維護起來不用說自然非常困難。Sun已經在這方面做的大量工作很有成效。
但是年輕Java開發者情況怎么樣?老輩Java開發者又如何呢?
老輩Java 開發者必須不斷學習這個語言本身,語言如何作用,如何使用以及它的各個功能。我并不是對學習新事物發牢騷,我說的是我們,老輩Java開發者們學習的負擔。我們需要學習的太多了,而且越來越多。我之所以堅持下來是只因為我在自己以前所學的基礎上努力。這就是積累。這最起碼對我來說輕松了不少。但是我也見到過一些開發者每天并不在線閱讀,因而跟不上新興事物。相信我吧,他們現在想再追上可就難了。
那么Java開發新生力量又怎么樣呢? 想象他們需要學多少東西。想想有多少info,從OO概念,變量,他們的意義,等等等等……嗯,真的有終止嗎? 我可瞧不出來。我在這方面現在已經做了6年多了,從剛入門就有許多東西要學習,而正是這一點使人興趣盎然。
保持現在擁有的事情是很不錯的。但是我們需要的不是當前的Java SE路標,它只簡單指向增加更多東西。我們需要的是下面的路標原則趨勢:
1- 暫且不要再增加新功能,也不要再對語言做新的變動。
2- 去除所有只會產生反向兼容性的東西。最起碼在兩個版本中逐漸去除。
3- 另外發布兩個Java SE 版本,這兩個版本中因上一步,即第二步而得到錯誤修補。我想會有很多修補。
4- 在前3步產生的更簡潔小巧的Java版之上,我們可以給語言增加更多東西。
我知道JDK 7 已經差不多完成了。所以,我在講的應該是JDK 7 之后的狀況。
以上做法的好處是:
◆Java 學習起來會更容易。
◆Java會更強健。
◆JDK會更小。
◆開發新手可以輕松學習。
◆老輩開發者就此得到一個機會來掌握當前語言變化。我們需要休整理解體會一下。(我是說語言變動,而不是說JDK功能。)
◆做深呼吸后休整后,我們就有機會進入“更多添加”階段了。
◆JDK團體可以好好想想之后需要再增加什么新的“被需要”的東西。
JDK產品不需要每年發行新版本增加新功能和變化。它是一個許多產品建立其上的平臺。在發展中的大改變需要步步為營,不能急功冒進。
原文:Java is a platform, not a product 作者:Mohamed El-Beltagy
【更多關于Java 7的動態】
- 6月5日外電頭條:探秘Java 7模塊化 類路徑永遠消失
- Java 7將向細顆粒并行化發展
- Java 7路線圖更新 未包含閉包特性
- Java 7新特性展望 語言本身的改變會很少
- 走進Java 7中的模塊系統
【關于剛剛結束的JavaOne 2009】