Sung in Blog

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

          ?

          ?

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

          ?

          Java

          .NET

          說明

          泛型Generic

          3.5

          4.5

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

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

          4

          4.5

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

          虛擬機(jī)VM

          4.5

          4

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

          垃圾收集GC

          4

          4

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

          語法機(jī)制

          4.5

          4

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

          多線程Treading

          4.5

          3.5

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

          類庫

          4

          4.5

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

          可移植性和開放性

          5

          3

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

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

          5

          3.5

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

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

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

          ?

          ?

          ?

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

          ?

          Java

          .NET

          說明

          泛型Generic

          3.5

          4.5

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

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

          4

          4.5

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

          虛擬機(jī)VM

          4.5

          4

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

          垃圾收集GC

          4

          4

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

          語法機(jī)制

          4.5

          4

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

          多線程Treading

          4.5

          3.5

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

          類庫

          4

          4.5

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

          可移植性和開放性

          5

          3

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

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

          5

          3.5

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

          ]]>
          posted on 2005-09-15 10:28 Sung 閱讀(300) 評(píng)論(0)  編輯  收藏 所屬分類: software Development
          主站蜘蛛池模板: 洛南县| 阳新县| 上饶县| 曲靖市| 铜陵市| 拉萨市| 汝阳县| 沙田区| 渭南市| 东宁县| 浦城县| 安阳县| 九江市| 普安县| 宁蒗| 晋宁县| 济宁市| 晋中市| 贵阳市| 获嘉县| 陇西县| 黄龙县| 卢龙县| 双峰县| 沿河| 五指山市| 吉林省| 大城县| 福鼎市| 潼南县| 亚东县| 通榆县| 饶平县| 仁布县| 海晏县| 南木林县| 文登市| 太仓市| 大丰市| 高雄县| 黄骅市|