無為

          無為則可為,無為則至深!

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
          與以往不同的是,2006年對于Java是具有決定性意義的一年。對于Java命運(yùn)最重要的是Sun決定以GPL許可方式發(fā)布其Java實(shí)現(xiàn),它已經(jīng)發(fā)布了HotSpot VM、javac編譯器、Java ME。這是許多人在一年前不敢想像的,更沒有人想到Sun會選擇GPL。

            但未來會怎樣?這是一個大問題。盡管今年發(fā)生了如此多的大事,但它們會向哪里發(fā)展并不明顯。在這篇文章中,我們將列出一些主要事件,并指出它們在2007年的發(fā)展。

            開放源代碼Java

          •   2006:Sun采用GPLv2發(fā)布其Java VM和編譯器
          •   2007:期待類庫、關(guān)注衍生版Java

            采用GPL發(fā)布Java編譯器和VM表明Sun對于開放源代碼Java是認(rèn)真的,但要判斷它的結(jié)果還為時(shí)過早。其一,Sun發(fā)布的是早期版Java SE 7,Sun不希望開放源代碼影響在12月初發(fā)布的Java SE 6。Sun發(fā)布的代碼還缺乏打造一個有用的Java環(huán)境所需要的類庫。

            提供類庫的挑戰(zhàn)之一是,必須從數(shù)百萬行代碼中找出Sun可以在Java中使用、但無權(quán)以GPL方式發(fā)布的代碼。其中一些代碼已經(jīng)有了開放源代碼版替代品,但是,Sun還必須重新許可、編寫、放棄一些代碼,這是不可避免的。

            除此之外的一大問題是,在采用GPL后,人們會如何“處理”Java。除了與在一些版本的Linux中包含Sun的JVM所牽涉的“政治性”問題和將JVM移植到Sun沒有興趣這么做的平臺上外,人們還會做出一些不可預(yù)測的事來。HotSpot的動態(tài)運(yùn)行時(shí)間庫編譯器會服務(wù)于其它語言的運(yùn)行時(shí)間庫嗎?開發(fā)人員會通過修改編譯器或者增添和刪除功能構(gòu)建多種不同版本的Java語言嗎?這樣的語言可能不能再叫Java了,但它叫什么呢?Java可能被用于域定義語言。

          •   2006:Sun制定并推廣Java分銷許可(Distro License for Java,DLJ)
          •   2007:Java分銷許可還有用嗎?

            如果你是一家Linux分銷商,Sun現(xiàn)在無疑給了你當(dāng)頭一棒。在選定GPL前,Sun向Ubuntus和Debians推薦了Java分銷許可,它使平臺開發(fā)商能夠以對它們的平臺有意義的方式封裝Java SE,使用戶能夠象apt-get那樣獲得JVM,而無需人工安裝。

            有了GPL版Java,DLJ似乎就再無用武之地了,用戶能夠方便地修改類庫、JVM。因此,只有在GPL Java被封裝為.dpkg軟件包時(shí),DLJ才是必需的。

            Java平臺

          •   2006:Java SE 6發(fā)布
          •   2007:開發(fā)人員何時(shí)會采用它?

            Java SE 6在12月中旬發(fā)布,比原定計(jì)劃略微晚了一些。Java SE 6提供了包括XML Digital Signature在內(nèi)的一些新API,更新了JDBC 4.0和JAXB 2.0等API,重新設(shè)計(jì)了圖形渲染管道,提高了Swing的Windows的精度GTK。

            但是,由于開發(fā)人員、部署人員、用戶在采用新版Java方面的緩慢,Java SE 6能夠立即吸引人們嗎?除非需要一些特定的新功能,安裝全新的JVM值得嗎?盡管性能有所提高━━特別是對于桌面應(yīng)用軟件而言,但在進(jìn)入2007年時(shí),SE 6不會成為許多人的缺省Java版本。2006:Java SE 6支持Java之外的其它語言

        1.   2007:我們會在JVM上運(yùn)行什么語言?
        2.   Java SE 6中最有趣的變化是它內(nèi)置地支持腳本語言。新的javax.script API使我們能夠在Java中使用腳本語言引擎,在腳本語言和Java之間交換數(shù)據(jù)。Java SE 6提供了對JavaScript的內(nèi)置支持,第三方廠商肯定會增添更多的腳本語言。

            由于Sun在9月份招聘了JRuby的開發(fā)人員,最可能的“下一種語言”是Ruby。很顯然的是,Sun還在吸引Perl和PHP等其它腳本語言的開發(fā)人員。

          •   2006:JDK 7開發(fā)工作啟動
          •   2007:與closures有關(guān)的爭論達(dá)到頂峰

            JDK 7的開發(fā)已經(jīng)在進(jìn)行,但功能清單的發(fā)布還需要一段時(shí)間。JDK 7中最有爭議的語言功能是在Java語言中增添closures。

            在這一問題上有二種觀點(diǎn)。其一是closures是否有必要,或者說closures帶來的復(fù)雜性是否超過了它帶來的好處。考慮到closures提供的一些功能已經(jīng)能夠由inner類完成,closures能夠減輕的“痛點(diǎn)”可能只不過是證明另一種語言結(jié)構(gòu)是不必要的;第二種觀點(diǎn)與closure的語法有關(guān),即它對簡潔的期望是否會使Java closures不容易理解。

          •   2006:Java EE 5發(fā)布
          •   2007:EJB 3能夠重新贏得開發(fā)人員的青睞嗎?

            Sun在今年夏季發(fā)布了Java EE 5以及EJB 3.0企業(yè)對象框架。

            2007年值得關(guān)注的是EJB 3.0能否重新贏得放棄了EJB 2.x的開發(fā)人員的青睞。

          •   2006:Java ME在手機(jī)上非常普及
          •   2007:GPL ME會改變什么嗎?

            在三大Java平臺中,Java ME最不引人注目,但由于被應(yīng)用到了手機(jī)上,它的應(yīng)用比SE或EE要廣泛得多。盡管有了一個開放源代碼CLDC/MIDP平臺,是否有人采用它還是個問題。手機(jī)制造商可能會選用當(dāng)前的許可協(xié)議,但GPL ME對于其它領(lǐng)域的初創(chuàng)廠商是非常理想的。



          凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
          、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

          posted on 2007-01-12 09:22 草兒 閱讀(260) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 历史| 池州市| 通辽市| 渭南市| 安庆市| 涿鹿县| 黔江区| 博客| 奉化市| 平乐县| 宽城| 印江| 神池县| 忻州市| 绩溪县| 大丰市| 郁南县| 中江县| 宜州市| 万州区| 新闻| 揭阳市| 桐柏县| 齐齐哈尔市| 屏边| 白河县| 邵武市| 鄂伦春自治旗| 瑞金市| 紫阳县| 资溪县| 理塘县| 交城县| 古蔺县| 塔河县| 赣州市| 苍溪县| 西和县| 枣强县| 庄河市| 苏州市|