<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java到底能干什么?

    Posted on 2006-03-29 13:49 killvin 閱讀(1172) 評(píng)論(0)  編輯  收藏 所屬分類: java


    [深入的思考] 為什么要采用java這個(gè)平臺(tái)?


    從開(kāi)發(fā)項(xiàng)目的類別角度看java平臺(tái)

    基于B/S結(jié)構(gòu)的系統(tǒng),在這個(gè)方向上的競(jìng)爭(zhēng)是激烈的,有專注于此的LAMP(Linux + Apache + Mysql + Php);也有剛剛興起的Rails(Ruby Frameworks)甚至是號(hào)稱快速開(kāi)發(fā)的ASP.NET;當(dāng)然了java在這個(gè)領(lǐng)域里的MVC框架數(shù)都數(shù)不完,比如Struts . Webwork等,然而即便是如此,選擇java作為開(kāi)發(fā)的理由也是不充分的,因?yàn)樵谶@個(gè)梯隊(duì)里java頂多排名最后。

    基于C/S結(jié)構(gòu)的系統(tǒng),在這個(gè)方面java顯然沒(méi)有考慮周到,面對(duì)VB 、DELPHI、vc這些個(gè)如狼似虎的快速開(kāi)發(fā)IDE,JAVA實(shí)在是顯得異常的淡薄,即使你找到了一個(gè)可以匹敵這些個(gè)ide的工具,面對(duì)第三方的組件又會(huì)成為一大障礙,所以java在這個(gè)方面又一次的輸了。


    從java所強(qiáng)調(diào)的特性角度看java平臺(tái)

    java的重點(diǎn)是業(yè)務(wù)邏輯!(我以前也是如此堅(jiān)信不移)可是誰(shuí)有能夠說(shuō)別的語(yǔ)言不注重業(yè)務(wù)邏輯呢,業(yè)務(wù)邏輯只是一個(gè)抽象的概念,java只是依靠ejb提出了業(yè)務(wù)組件而已,其他的語(yǔ)言在實(shí)現(xiàn)業(yè)務(wù)邏輯的時(shí)候也可以包裝成POJO的形式,看來(lái)這個(gè)觀點(diǎn)也是失敗的。

    java強(qiáng)調(diào)的是跨平臺(tái)的優(yōu)勢(shì)!這可以理解為初級(jí)的、商業(yè)的、忽悠人的詞匯,面對(duì)眾多動(dòng)態(tài)語(yǔ)言如Python,在若干平臺(tái)上的表現(xiàn),java又如何來(lái)強(qiáng)調(diào)自己這方面的優(yōu)勢(shì)呢?失敗

    java支持分布式應(yīng)用的項(xiàng)目!可笑的言論,分布式根本不是值得炫耀的資本,在java之前的c/s項(xiàng)目中何嘗不是分布式的應(yīng)用呢?失敗


    既然沒(méi)有了這些個(gè)優(yōu)勢(shì),我們看看java到底還剩下些什么?對(duì)了其實(shí)就是應(yīng)用服務(wù)器!然而看過(guò)J2EE WITHOUT EJB的讀者肯定知道Spring所希望達(dá)到的目的,也就是脫離應(yīng)用服務(wù)器概念上的J2EE體系實(shí)現(xiàn),既然在作者的眼里APPLICATION SERVER只不過(guò)是一個(gè)忽悠人的詞匯,那么任何項(xiàng)目都選擇java作為開(kāi)發(fā)的依據(jù)顯然就是自找苦吃,

    那么什么情況下改選擇java作為開(kāi)發(fā)的平臺(tái)呢?
    <1> 如果你真的遇到了大型的系統(tǒng)開(kāi)發(fā)任務(wù),恭喜你,你終于可以看到分布式對(duì)象、集群的優(yōu)勢(shì)了。
    <2> 客戶是一個(gè)java的忠實(shí)fans或者是sun、ibm的金牌合作伙伴之類的,選擇java是不得已的,但記住并不能證明java是最好的實(shí)現(xiàn)方式
    <3> 如果你只想關(guān)心業(yè)務(wù)邏輯的實(shí)現(xiàn),對(duì)于事務(wù)、緩存、查找等服務(wù)的實(shí)現(xiàn)沒(méi)有興趣的話,倒是不妨考慮采用ejb的形式,當(dāng)然前提是你不愿意在尋找合適的替代品的情況下。
    <4> 如果項(xiàng)目迫切的尋找某種框架的支持,選擇java就是對(duì)的,你有眾多優(yōu)秀的、免費(fèi)的、可擴(kuò)展的、天才的框架可以選擇,更多的時(shí)候你是出于尷尬的境地,因?yàn)槿魏我粋€(gè)都讓你心動(dòng)、而這樣的選擇往往是最痛苦、和快樂(lè)的。


    正確的選擇
    <1>
    條件: 如果項(xiàng)目?jī)H僅只是一個(gè)小型的網(wǎng)站系統(tǒng)
    選擇: LAMP、Rails

    <2>
    條件: 項(xiàng)目規(guī)模中等
    并且項(xiàng)目的時(shí)間比較緊,
    項(xiàng)目可以架構(gòu)在windows的系統(tǒng)之上,
    選擇: .Net? / Delphi

    <3>
    條件: 大型的系統(tǒng),有支持分布式對(duì)象、集群的要求;或者SUN / IBM的金牌合作伙伴 ; 想要尋找某種優(yōu)秀的框架來(lái)解決問(wèn)題
    選擇: java是不二的選擇,可是我想問(wèn)一下,在現(xiàn)實(shí)中你能遇到這樣的項(xiàng)目嗎?

    所以,從實(shí)際的角度出發(fā),我們面對(duì)的99%可能都是一些符合條件1,2的系統(tǒng),而選擇java實(shí)在是得不償失的。最后以一段Code Complete中的話來(lái)作為結(jié)束語(yǔ)

    每個(gè)程序員都有很多的工具,但并不存在任何一個(gè)能夠適用于所有工作的工具,因地制宜的選擇正確工具是成為能有效編程的程序員的關(guān)鍵。

    主站蜘蛛池模板: 中文字幕在线免费播放| 妇女自拍偷自拍亚洲精品| 久久99青青精品免费观看| 亚洲尤码不卡AV麻豆| 国产三级在线免费观看| 亚洲自偷自偷偷色无码中文| 日日摸夜夜添夜夜免费视频| 免费国产在线观看| 无码毛片一区二区三区视频免费播放| 国产一级理论免费版| 国产亚洲精品免费| 超清首页国产亚洲丝袜| 韩国免费A级毛片久久| 久久亚洲国产伦理| h在线观看视频免费网站| 亚洲AV无码乱码在线观看代蜜桃| 67194成是人免费无码| 久久久久久亚洲av无码蜜芽| 亚洲AV无码不卡在线观看下载| 九九九国产精品成人免费视频| 亚洲人成网站在线观看播放| 久久国产乱子伦精品免费一| 亚洲性一级理论片在线观看| 成在人线AV无码免费| 最好2018中文免费视频| 亚洲va久久久噜噜噜久久狠狠| 希望影院高清免费观看视频| 亚洲爆乳AAA无码专区| 中文字幕亚洲无线码| 最近免费中文在线视频| 亚洲熟妇无码八V在线播放| 亚洲男人第一无码aⅴ网站| 无人在线观看免费高清| 亚洲精品国产高清在线观看| 亚洲综合无码AV一区二区| 最近2019中文字幕免费大全5| 春暖花开亚洲性无区一区二区| 久久国产精品亚洲综合| 午夜a级成人免费毛片| 你懂的网址免费国产| 一本色道久久综合亚洲精品蜜桃冫|