明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

再談j2ee與.net(盡情批評(píng)我吧,呵呵)

[摘要]我覺(jué)得攤開(kāi)來(lái)說(shuō),說(shuō)j2ee和.net哪個(gè)更先進(jìn)并沒(méi)有什么意義,主要是看開(kāi)發(fā)易度和成本,我暫時(shí)覺(jué)得,在vb/vc等原先ms陣營(yíng)的開(kāi)發(fā)者upgrade到.net以前,j2ee還是首選,現(xiàn)在它的支持最多(比如apache/ibm都提供了很多免費(fèi)的東西,大大有利于開(kāi)發(fā)),最后的勝負(fù)還是取決于什么東西可以讓...
我覺(jué)得攤開(kāi)來(lái)說(shuō),說(shuō)j2ee和.net哪個(gè)更先進(jìn)并沒(méi)有什么意義,主要是看開(kāi)發(fā)易度和成本,我暫時(shí)覺(jué)得,在vb/vc等原先ms陣營(yíng)的開(kāi)發(fā)者upgrade到.net以前,j2ee還是首選,現(xiàn)在它的支持最多(比如apache/ibm都提供了很多免費(fèi)的東西,大大有利于開(kāi)發(fā)),最后的勝負(fù)還是取決于什么東西可以讓人更易上手,提供更少的成本,更快的可以訓(xùn)練出程序員來(lái),這一點(diǎn)java比較好,君不見(jiàn),滿(mǎn)街都是java程序員了,呵呵,我的軟件部經(jīng)理告訴我,他同時(shí)招聘java和c++,java的程序員多出10倍,java易上手,開(kāi)發(fā)支持多,這才是它流行的原因吧。就好像delphi,我一直很吃驚他竟然可以在windows上和ms的開(kāi)發(fā)工具競(jìng)爭(zhēng),我覺(jué)得主要不是因?yàn)樗南冗M(jìn)性,而是易上手,掌握了程序員,就掌握了soft的未來(lái)(所以cobol還有非常多人用,pascal還可以不斷進(jìn)步,按我的感覺(jué),c就是操作系統(tǒng),c++兼容c,pascal沒(méi)有被淘汰主要是因?yàn)樗峁┝艘环N比較容易的編程支持,如果說(shuō)先進(jìn),我是無(wú)論如何不信它好過(guò)c/c++的)。
另外一點(diǎn),我覺(jué)得前面有一篇帖子說(shuō)得很好,ms現(xiàn)在就是沒(méi)有盟友——強(qiáng)有力的那種,敵人卻不少,都是強(qiáng)的驚人,隨便列舉幾個(gè)有名的:oracle在數(shù)據(jù)庫(kù)上不用說(shuō),ibm總是沒(méi)人敢小瞧的(我現(xiàn)在總覺(jué)得目前sun不管在java上做什么事情都拉著ibm),還有一個(gè)非常重要的,就是以apache(不要說(shuō)你沒(méi)有聽(tīng)說(shuō)過(guò)apache啊,你是程序員嗎?呵呵,一個(gè)玩笑)和linux那幫人為首的自由開(kāi)發(fā)者目前暫時(shí)是支持java的,尤其是apache的jakata項(xiàng)目,像tomcat/ant/log4j這些東西都出自這里(還有非常多好東西,不過(guò)我沒(méi)有用過(guò)罷了),這批人的天才是決不遜色于ms中人的,而且人多士眾,尤其重要的是這些東西——免費(fèi)(還有源代碼,天。@就是為什么到處都捆綁tomcat(apache server可以占據(jù)服務(wù)器市場(chǎng)的一半以上的份額,除了質(zhì)量上乘以外,還有就是靠免費(fèi))的原因啦。
至于說(shuō)到效率問(wèn)題,目前解決的方法很多啦,首先是摩爾定律,軟件員可以坐等速度提升(呵呵)。其實(shí)效率有非常多解決方案,只要成本可以承受就行了(比如集群啦,陣列啦),大不了用高速內(nèi)存cache數(shù)據(jù),關(guān)鍵在于你的產(chǎn)品可以在期限內(nèi)開(kāi)發(fā)出來(lái),綜合成本可以低,后備人員可以很快跟上(這行的流動(dòng)率不要我說(shuō)了)。還有用新人也可以很快上手,這對(duì)于設(shè)計(jì)的要求非常高,和具體用什么框架并沒(méi)有很大關(guān)系。
前面只是說(shuō)一些比較費(fèi)錢(qián)的解決方法(也是個(gè)小小玩笑),其實(shí)像目前使用corba,rmi-iiop,ladp還有大量的分布式應(yīng)用解決方案的情況下,效率根本不是問(wèn)題,我接觸過(guò)的幾個(gè)項(xiàng)目,用java根本就沒(méi)有問(wèn)題(何況corba下可以用java+C++),因?yàn)樨?fù)載被分散了,如果真要談到效率,也根本不可能用.net,大家去看一下協(xié)議級(jí)的應(yīng)用和大型認(rèn)證和加密的源代碼就知道,根本連C++都不用,完全是C,用變態(tài)的方式提升速度(比如不用函數(shù)——連內(nèi)聯(lián)都舍不得用^_^——用宏來(lái)展開(kāi)常用代碼,至于面向?qū)ο蟮奶卣魅肯,還談什么.net和j2ee)。我還沒(méi)有用過(guò).net,但我不相信它會(huì)有多快,一個(gè)沒(méi)有編譯成二進(jìn)制文件的東東能夠可以快到哪里去,不過(guò)肯定是比java快的——在windows上的話(huà)。我在這里說(shuō)這個(gè)并不是打擊.net的意思,我個(gè)人也很看好.net的,但就事論事,只是說(shuō)在作為企業(yè)解決方案的api選擇方面,速度根本不是選擇的主要因素,真要說(shuō)道效率,還是C/c++,.net也是遠(yuǎn)遠(yuǎn)不夠的,程序這一行,沒(méi)有什么70%之類(lèi)的說(shuō)法,有不是買(mǎi)彩電,可以打折(五十步笑一百步)。
我比較看好.net對(duì)于原先ms程序員的升級(jí)作用,現(xiàn)在幾乎所有的程序員都可以介入到基于網(wǎng)絡(luò)的解決方案上來(lái),這才是.net的意義所在。個(gè)人以為如果要搞.net,決不是去學(xué)C#語(yǔ)法那么簡(jiǎn)單,如果是那樣的話(huà),還不如用java,支持又多,高手也不少,源代碼更多。而是應(yīng)該把注意力放在ms的二進(jìn)制布局接口上,個(gè)人覺(jué)得COM之類(lèi)的東西正是天才般的想法,雖然我還不太懂,.net可以把大量的舊有代碼升級(jí)到網(wǎng)絡(luò),的確是ms的巨大貢獻(xiàn),至于什么一統(tǒng)編程標(biāo)準(zhǔn)之類(lèi)的東西,簡(jiǎn)直就是癡人說(shuō)夢(mèng)(連fortran還活著呢),完全是ms為了吸引程序員的噱頭罷了(不過(guò)一統(tǒng)ms的編程標(biāo)準(zhǔn)大概沒(méi)有問(wèn)題的)。
j2ee與.net的框架之爭(zhēng),并不是爭(zhēng)什么更先進(jìn)的問(wèn)題,更不是什么anders搞得東西就是什么好之類(lèi)的,(如果那樣的話(huà),我覺(jué)得寫(xiě)linux內(nèi)核的人和richard.stallman——?jiǎng)?chuàng)立GNU標(biāo)準(zhǔn)的人——更有天才),這也是ms的一個(gè)炒作罷了,如果anders還在borland,肯定沒(méi)有現(xiàn)在出名。其實(shí)到了那個(gè)地步,個(gè)人的天才有多大作用,我很懷疑,不是懷疑anders,而是懷疑anders會(huì)比sun和ibm的天才厲害多少的問(wèn)題(bill自己就是天才吧),這就好像比較麻省和斯坦福那個(gè)計(jì)算機(jī)更好一樣。不過(guò)我還是相信ms和anders可以把開(kāi)發(fā)環(huán)境搞得很好才對(duì)。
其實(shí)兩個(gè)標(biāo)準(zhǔn)和思想沒(méi)有多大的區(qū)別,.net更接近操作系統(tǒng),可以升級(jí)舊有的c/c++程序,這一點(diǎn)比java好,不過(guò)java也可以利用jni(不過(guò)功能較弱),談到和舊有程序的交互上,java可以利用corba,我總是覺(jué)得ms做事不太地道,他故意不支持corba,另搞DCOM,可能也有不讓java借用的目的。目前主要考慮的是如果你原來(lái)是ms的程序員,肯定升級(jí)到.net上去,原本作java的,不妨先把j2ee搞好。至于新手,我不敢建議(在網(wǎng)絡(luò)論壇上是動(dòng)輒得咎啊)。
最后以為ms這次出人意料的打算交出.net的標(biāo)準(zhǔn)給國(guó)際組織(我也聽(tīng)說(shuō)而已,別當(dāng)真),主要是為了爭(zhēng)取服務(wù)器市場(chǎng),靠賣(mài).net掙的錢(qián)肯定不夠養(yǎng)活ms,ms看中的nt server和數(shù)據(jù)庫(kù)的市場(chǎng),這也難怪它沒(méi)有盟友了(呵呵),因此對(duì)于ibm,sun,oracle,linux/unix(apache)這樣的對(duì)手而言,是沒(méi)有妥協(xié)的可能性的(完全是把手伸到鍋里來(lái)了,我個(gè)人很佩服bill的霸氣),ms沒(méi)有可能用招安的方式說(shuō)服他們,ms吃虧在它不賣(mài)服務(wù)器,至于原先的地盤(pán)已經(jīng)劃定,現(xiàn)在ms幾乎是在跟各個(gè)方面的頂尖對(duì)手對(duì)抗,而且似乎大家都不打算妥協(xié),爭(zhēng)取第三方支持成為一個(gè)比較重要的籌碼(只是重要而已,服務(wù)器上剩下的已經(jīng)不多了),但不是絕對(duì)的,主要還得靠ms自己,贏下桌面開(kāi)發(fā)市場(chǎng)對(duì)Ms沒(méi)有什么意義,他早就贏了,關(guān)鍵是解決方案市場(chǎng),這才是ms要的,這場(chǎng)爭(zhēng)奪會(huì)是好幾年的時(shí)間,關(guān)鍵還看今后兩年,現(xiàn)在只想知道.net的正式版是否真的如同他說(shuō)的那樣好,否則ms可能沒(méi)有什么時(shí)間了,今年j2ee大行其道,.net光見(jiàn)打雷,就好像xbox和ps2一樣,前面只不過(guò)是ms拿來(lái)留住舊有程序員和吸引觀(guān)望者眼球的噱頭罷了,實(shí)在的貨色今年才可以看見(jiàn)。對(duì)于ms有一種矛盾心理,一方面佩服它(因此我支持xbox),另一方面又覺(jué)得ms一旦贏了,對(duì)于軟件業(yè)不是什么好事(我不喜歡IDE的方式,所以用ultraedit寫(xiě)java),ms的特色是第一版很爛,第三版開(kāi)始很好,從VB/com/windows莫不如是,所以一旦開(kāi)頭不好,大家也可以觀(guān)望一下,ms的東西無(wú)疑是好的,但是重要的不是好,而是相對(duì)于java(java也是好東西啊)的好,時(shí)間對(duì)它似乎不多了。只希望軟件業(yè)可以是百家爭(zhēng)鳴,重要的是開(kāi)放的標(biāo)準(zhǔn)和技術(shù),這才是重要的,如果ms可以開(kāi)放它的技術(shù)的話(huà),我也愿意支持它(似乎是奢望呢)