Sung in Blog

                     一些技術(shù)文章 & 一些生活雜碎
          有些時候等待是一種幸福,就如對于Java 1.5(商業(yè)的版本號為5.0).NET 2.0(內(nèi)部版本號為1.2)的守候。對于Java社區(qū),1.5 RC1的等待恍如隔世,終于在所有人快失去耐性的時候給出了這個定心丸;對于.NET社區(qū),則是一種欣喜,反過來也是一種擔(dān)憂,畢竟相對穩(wěn)定的.NET 1.1版本還沒有Java社區(qū)中那樣成熟的姿態(tài),卻要考慮是否邁進2.0的新世界。

          ?

          ?????? 不知道是不是商業(yè)宣傳的錯覺,很多人將這兩個重量級產(chǎn)品做比較的時候更多的是著眼于Java語言和C#的語言的比較,從某種意義而言對于.NET是不夠公平的,同樣對于Java而言也不是公平的。

          ?

          ?????? 在討論Java的時候我們很容易的將Java語言和Java平臺混為一趟,和.NET平臺比較的過程中也更多的是將Java平臺和C#比較,或者Java語言和.NET平臺比較,在我個人的意識中,這是不夠公正的。

          ?

          ?????? Java經(jīng)過多年的發(fā)展,已經(jīng)從單一的語言及其運行時環(huán)境擴展成一個完成的應(yīng)用平臺,并且在企業(yè)應(yīng)用領(lǐng)域處于絕對的領(lǐng)先地位,J2EE已經(jīng)成為事實上的大型企業(yè)應(yīng)用的標準技術(shù)架構(gòu)。而在移動開發(fā)領(lǐng)域,因為其跨平臺的優(yōu)勢,在各種Java兼容設(shè)備中的開發(fā)也成為一個非常重要的生力軍。

          ?

          ?????? .NET從提出的開始就是立足平臺,相對于Java提倡的“一次編寫,到處運行”,.NET更加提倡“一個平臺,多種語言”,因為平臺的統(tǒng)一性,因此在各個語言的兼容性和混合開發(fā)方面做得比Java好,也因此有些MS的擁護者嘲笑Java是“一次編寫,到處調(diào)試”。

          ?

          ?????? 縱觀這兩個平臺的革新主要體現(xiàn)為如下兩個方面:

          ?

          ?????? Java:這是從產(chǎn)生到現(xiàn)在第一次真正意義的對于語言實現(xiàn)進行大刀闊斧的改造,一直以來,Sun公司將更多的精力放在類庫的擴充和技術(shù)架構(gòu)的規(guī)范定義上,比如JDBC的不斷完善,JMSJNDIEJB等等非常重要的規(guī)范就是在這幾年的發(fā)展過程中逐漸成熟起來的。俄而在語言方面,從1997Java1.1推出之后Java Class文件就一直沒有做過大的變動,在語言支持上也沒有太多的變化,因此像《Thinking in Java》這樣的“寶典”從第一次出版到現(xiàn)在也沒有本質(zhì)性的變化,更多的是作者對于一些觀點的修正。而在類庫方面,經(jīng)過sun公司和開源社區(qū)的共同努力,已經(jīng)讓java變成了一個巨無霸的平臺,除了JDK自身龐大的類庫以外,SourceForge能夠找到一些非常完善的應(yīng)用框架,比如HibernateAnt、Spring就是其中的典范。而此次的更新則意味著在語言層次上Java將變得更加“職能”,更加適合實現(xiàn)面向業(yè)務(wù)的應(yīng)用,而不再是一切需要依賴令人望而生畏的類庫去實現(xiàn)也許不算復(fù)雜的應(yīng)用。語言的“輕量化”的結(jié)果就是帶來開發(fā)生產(chǎn)力的提高,同時依賴于Java世界目前擁有的強大資源,我想對于Java而言是一個新時代的開始,從1.5起,Java更加輕便,也不再陽春白雪高高在上,通過核心類數(shù)據(jù)共享,通過注解(Annotation)的支持,通過多線程的改進,Java也逐漸走入桌面應(yīng)用市場。

          ?

          ?????? .NET:有一點可以肯定,C#語言的革新絕對不是.NET 2.0新功能的全部,按照微軟一貫的作風(fēng),從語言到類庫再到開發(fā)工具的全線支持才是.NET 2.0的全部,從這個角度而言,前些日子公布的代號為“Whidbey”的Visual Studio 2005 Beta1才彰顯微軟的“狼子野心”,除了C#中泛型、匿名方法、迭代程序和局部類的引入,對于VB.NET也不例外,通過My命名空間極大的簡化了對于系統(tǒng)資源的訪問。一直備受非議的Managed C++也返璞歸真,除了保留了傳統(tǒng)C++的功能之外,對于托管應(yīng)用程序的編寫也終于可以使用令人賞心悅目的代碼去完成,而不是C++程序員深惡痛絕的“__gc”關(guān)鍵字。而類庫方面的改進才是真正讓開發(fā)人員欣喜若狂,ASP.NET 2.0加入了門戶開發(fā)的框架——WebPart的支持,也加入了針對用戶個性化的支持,比如SkinPassword Recover等等。

          ?

          有對手總是一件不算壞的事情,這個世界不需要“獨孤求敗”,商業(yè)規(guī)則也不允許“獨孤求敗”的出現(xiàn),因為那樣會打破競爭格局的平衡,而Java.NET這兩個平臺的紛爭才算剛剛開始,而較量的結(jié)果則是有利于整個軟件世界。發(fā)展到現(xiàn)在,兩個平臺在技術(shù)架構(gòu)的目標上已經(jīng)趨近相同,如果說要比較出一個大概,那么我想在語言層次上因為C#或者VB.NET是后來者,就注定了比Java更加先進,在類庫框架方面同樣因為是遲到者,目前還無法在大型應(yīng)用方面和Java抗衡,這兩個相互較量的平臺同樣的比較在相互學(xué)習(xí)中攜手前進,誰是受益者呢?我想還是廣大的用戶。

          ?

          ?

          ?

          J2SE 5.0.NET 2.0部分技術(shù)參照

          ?

          Java

          .NET

          說明

          泛型Generic

          3.5

          4.5

          .NET中的泛型保持了非常好的效果,幾乎能夠完成所有事情,然而,J2SE 5.0卻采用的是不完全的“擦拭法”泛型,很多功能不能完全實現(xiàn)。

          元數(shù)據(jù)Metadata

          4

          4.5

          Annotation以及Attribute的對比在前文中能夠看出,.NET在這個方面仍然略占優(yōu)勢。

          虛擬機VM

          4.5

          4

          虛擬機方面,J2SE 5.0作了相當(dāng)大的改進,將原來的虛擬機進行了大規(guī)模改進,這個部分Java略占上風(fēng)。

          垃圾收集GC

          4

          4

          兩個平臺的垃圾收集算法上區(qū)別不大,效率也非常接近,只是.NETWindows平臺的一些支持,因此兩方面有細微差別。

          語法機制

          4.5

          4

          語法機制上,已經(jīng)沒有太多比較的余地,不過Java在此次大規(guī)模版本升級上,還是對語法機制作了比較積極的修改。

          多線程Treading

          4.5

          3.5

          J2SE 5.0中,在多線程方面又進一步做了很多基礎(chǔ)性工作,尤其是在類庫方面進行了很多基礎(chǔ)性工作的提高,加上本身在企業(yè)級系統(tǒng)架構(gòu)上的優(yōu)勢,在線程上有了比較大的優(yōu)勢。

          類庫

          4

          4.5

          這次的版本升級中,.NET類庫有了很大的提高,在很多方面,尤其是客戶端類庫方面比之Java又有了更大的進步。

          可移植性和開放性

          5

          3

          Java的可移植性和開放性一直就是非常優(yōu)秀的。程序的開放性,系統(tǒng)移植的方便性等各個方面,Java都勝出.NET很遠。因此,目前各個領(lǐng)域的開發(fā)中,如服務(wù)器端、嵌入式、

          企業(yè)級系統(tǒng)架構(gòu)

          5

          3.5

          這個部分一直以來都是Java最強大的地方。企業(yè)級架構(gòu)所關(guān)注的幾個領(lǐng)域都是Java的優(yōu)勢所在,如何滿足業(yè)務(wù)需求、盡量保持結(jié)構(gòu)的簡單清晰,生產(chǎn)率的要求和可測試性都是企業(yè)級開發(fā)關(guān)注的重點所在,Java在新版本中依然表現(xiàn)不俗。

          有些時候等待是一種幸福,就如對于Java 1.5(商業(yè)的版本號為5.0).NET 2.0(內(nèi)部版本號為1.2)的守候。對于Java社區(qū),1.5 RC1的等待恍如隔世,終于在所有人快失去耐性的時候給出了這個定心丸;對于.NET社區(qū),則是一種欣喜,反過來也是一種擔(dān)憂,畢竟相對穩(wěn)定的.NET 1.1版本還沒有Java社區(qū)中那樣成熟的姿態(tài),卻要考慮是否邁進2.0的新世界。

          ?

          ?????? 不知道是不是商業(yè)宣傳的錯覺,很多人將這兩個重量級產(chǎn)品做比較的時候更多的是著眼于Java語言和C#的語言的比較,從某種意義而言對于.NET是不夠公平的,同樣對于Java而言也不是公平的。

          ?

          ?????? 在討論Java的時候我們很容易的將Java語言和Java平臺混為一趟,和.NET平臺比較的過程中也更多的是將Java平臺和C#比較,或者Java語言和.NET平臺比較,在我個人的意識中,這是不夠公正的。

          ?

          ?????? Java經(jīng)過多年的發(fā)展,已經(jīng)從單一的語言及其運行時環(huán)境擴展成一個完成的應(yīng)用平臺,并且在企業(yè)應(yīng)用領(lǐng)域處于絕對的領(lǐng)先地位,J2EE已經(jīng)成為事實上的大型企業(yè)應(yīng)用的標準技術(shù)架構(gòu)。而在移動開發(fā)領(lǐng)域,因為其跨平臺的優(yōu)勢,在各種Java兼容設(shè)備中的開發(fā)也成為一個非常重要的生力軍。

          ?

          ?????? .NET從提出的開始就是立足平臺,相對于Java提倡的“一次編寫,到處運行”,.NET更加提倡“一個平臺,多種語言”,因為平臺的統(tǒng)一性,因此在各個語言的兼容性和混合開發(fā)方面做得比Java好,也因此有些MS的擁護者嘲笑Java是“一次編寫,到處調(diào)試”。

          ?

          ?????? 縱觀這兩個平臺的革新主要體現(xiàn)為如下兩個方面:

          ?

          ?????? Java:這是從產(chǎn)生到現(xiàn)在第一次真正意義的對于語言實現(xiàn)進行大刀闊斧的改造,一直以來,Sun公司將更多的精力放在類庫的擴充和技術(shù)架構(gòu)的規(guī)范定義上,比如JDBC的不斷完善,JMSJNDI、EJB等等非常重要的規(guī)范就是在這幾年的發(fā)展過程中逐漸成熟起來的。俄而在語言方面,從1997Java1.1推出之后Java Class文件就一直沒有做過大的變動,在語言支持上也沒有太多的變化,因此像《Thinking in Java》這樣的“寶典”從第一次出版到現(xiàn)在也沒有本質(zhì)性的變化,更多的是作者對于一些觀點的修正。而在類庫方面,經(jīng)過sun公司和開源社區(qū)的共同努力,已經(jīng)讓java變成了一個巨無霸的平臺,除了JDK自身龐大的類庫以外,SourceForge能夠找到一些非常完善的應(yīng)用框架,比如Hibernate、AntSpring就是其中的典范。而此次的更新則意味著在語言層次上Java將變得更加“職能”,更加適合實現(xiàn)面向業(yè)務(wù)的應(yīng)用,而不再是一切需要依賴令人望而生畏的類庫去實現(xiàn)也許不算復(fù)雜的應(yīng)用。語言的“輕量化”的結(jié)果就是帶來開發(fā)生產(chǎn)力的提高,同時依賴于Java世界目前擁有的強大資源,我想對于Java而言是一個新時代的開始,從1.5起,Java更加輕便,也不再陽春白雪高高在上,通過核心類數(shù)據(jù)共享,通過注解(Annotation)的支持,通過多線程的改進,Java也逐漸走入桌面應(yīng)用市場。

          ?

          ?????? .NET:有一點可以肯定,C#語言的革新絕對不是.NET 2.0新功能的全部,按照微軟一貫的作風(fēng),從語言到類庫再到開發(fā)工具的全線支持才是.NET 2.0的全部,從這個角度而言,前些日子公布的代號為“Whidbey”的Visual Studio 2005 Beta1才彰顯微軟的“狼子野心”,除了C#中泛型、匿名方法、迭代程序和局部類的引入,對于VB.NET也不例外,通過My命名空間極大的簡化了對于系統(tǒng)資源的訪問。一直備受非議的Managed C++也返璞歸真,除了保留了傳統(tǒng)C++的功能之外,對于托管應(yīng)用程序的編寫也終于可以使用令人賞心悅目的代碼去完成,而不是C++程序員深惡痛絕的“__gc”關(guān)鍵字。而類庫方面的改進才是真正讓開發(fā)人員欣喜若狂,ASP.NET 2.0加入了門戶開發(fā)的框架——WebPart的支持,也加入了針對用戶個性化的支持,比如Skin、Password Recover等等。

          ?

          有對手總是一件不算壞的事情,這個世界不需要“獨孤求敗”,商業(yè)規(guī)則也不允許“獨孤求敗”的出現(xiàn),因為那樣會打破競爭格局的平衡,而Java.NET這兩個平臺的紛爭才算剛剛開始,而較量的結(jié)果則是有利于整個軟件世界。發(fā)展到現(xiàn)在,兩個平臺在技術(shù)架構(gòu)的目標上已經(jīng)趨近相同,如果說要比較出一個大概,那么我想在語言層次上因為C#或者VB.NET是后來者,就注定了比Java更加先進,在類庫框架方面同樣因為是遲到者,目前還無法在大型應(yīng)用方面和Java抗衡,這兩個相互較量的平臺同樣的比較在相互學(xué)習(xí)中攜手前進,誰是受益者呢?我想還是廣大的用戶。

          ?

          ?

          ?

          J2SE 5.0.NET 2.0部分技術(shù)參照

          ?

          Java

          .NET

          說明

          泛型Generic

          3.5

          4.5

          .NET中的泛型保持了非常好的效果,幾乎能夠完成所有事情,然而,J2SE 5.0卻采用的是不完全的“擦拭法”泛型,很多功能不能完全實現(xiàn)。

          元數(shù)據(jù)Metadata

          4

          4.5

          Annotation以及Attribute的對比在前文中能夠看出,.NET在這個方面仍然略占優(yōu)勢。

          虛擬機VM

          4.5

          4

          虛擬機方面,J2SE 5.0作了相當(dāng)大的改進,將原來的虛擬機進行了大規(guī)模改進,這個部分Java略占上風(fēng)。

          垃圾收集GC

          4

          4

          兩個平臺的垃圾收集算法上區(qū)別不大,效率也非常接近,只是.NETWindows平臺的一些支持,因此兩方面有細微差別。

          語法機制

          4.5

          4

          語法機制上,已經(jīng)沒有太多比較的余地,不過Java在此次大規(guī)模版本升級上,還是對語法機制作了比較積極的修改。

          多線程Treading

          4.5

          3.5

          J2SE 5.0中,在多線程方面又進一步做了很多基礎(chǔ)性工作,尤其是在類庫方面進行了很多基礎(chǔ)性工作的提高,加上本身在企業(yè)級系統(tǒng)架構(gòu)上的優(yōu)勢,在線程上有了比較大的優(yōu)勢。

          類庫

          4

          4.5

          這次的版本升級中,.NET類庫有了很大的提高,在很多方面,尤其是客戶端類庫方面比之Java又有了更大的進步。

          可移植性和開放性

          5

          3

          Java的可移植性和開放性一直就是非常優(yōu)秀的。程序的開放性,系統(tǒng)移植的方便性等各個方面,Java都勝出.NET很遠。因此,目前各個領(lǐng)域的開發(fā)中,如服務(wù)器端、嵌入式、

          企業(yè)級系統(tǒng)架構(gòu)

          5

          3.5

          這個部分一直以來都是Java最強大的地方。企業(yè)級架構(gòu)所關(guān)注的幾個領(lǐng)域都是Java的優(yōu)勢所在,如何滿足業(yè)務(wù)需求、盡量保持結(jié)構(gòu)的簡單清晰,生產(chǎn)率的要求和可測試性都是企業(yè)級開發(fā)關(guān)注的重點所在,Java在新版本中依然表現(xiàn)不俗。

          ]]>
          posted on 2005-09-15 10:28 Sung 閱讀(300) 評論(0)  編輯  收藏 所屬分類: software Development
          主站蜘蛛池模板: 白银市| 昌宁县| 咸阳市| 汶川县| 华容县| 岑溪市| 铜川市| 蒲城县| 秦皇岛市| 汝州市| 郸城县| 阜新市| 米脂县| 盐源县| 德兴市| 苏尼特右旗| 政和县| 南京市| 桑日县| 抚松县| 泸水县| 无锡市| 稻城县| 科技| 宁德市| 弥勒县| 台东县| 长泰县| 定陶县| 连平县| 廉江市| 甘谷县| 河曲县| 张北县| 娄烦县| 苗栗市| 罗平县| 英山县| 平原县| 湾仔区| 仁布县|