欧美自拍小视频_国产片在线免费观看_中文字幕啪啪_成人av高清在线_欧美一区二区视频免费观看_亚洲国产激情

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.rfoamep.cn/bbs/index.asp)
--  C++語(yǔ)言開(kāi)發(fā)  (http://www.rfoamep.cn/bbs/list.asp?boardid=63)
----  目前主流開(kāi)發(fā)技術(shù)的分析和總結(jié)  (http://www.rfoamep.cn/bbs/dispbbs.asp?boardid=63&id=2437)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-10 15:09:35
--  目前主流開(kāi)發(fā)技術(shù)的分析和總結(jié)
主流的程序設(shè)計(jì)語(yǔ)言:C++、Delphi(ObjectPascal)、Java、C#

  桌面應(yīng)用程序框架:MFC、VCL、QT、JavaAWTSWING、.Net

  企業(yè)應(yīng)用程序框架:WindowsDNA(ASP、COM、COM+)、J2EE、.NetFramework

  開(kāi)發(fā)工具:VisualBasic、Delphi、VisualC++、C++Builder、VisualC#

  *程序設(shè)計(jì)語(yǔ)言:C++Delphi(本來(lái)應(yīng)該是ObjectPascal,但為了簡(jiǎn)單,我就語(yǔ)言和工具混為一談吧)JavaC#(雖然他剛剛推出,但因?yàn)槲④洖橹畠A注了大量心血,一定會(huì)成為一種重要的開(kāi)發(fā)語(yǔ)言)

  *桌面應(yīng)用程序框架:MFCVCL

  *企業(yè)應(yīng)用程序框架:WindowsDNAJ2EE.Net

  *COM技術(shù):我單獨(dú)提出這項(xiàng)技術(shù),是因?yàn)樗鼰o(wú)法簡(jiǎn)單的被視為語(yǔ)言、桌面應(yīng)用程序框架或企業(yè)應(yīng)用程序框架,它與這些都有關(guān)系。

  2.1 程序設(shè)計(jì)語(yǔ)言

  2.1.1 C++語(yǔ)言的演進(jìn)

  最初要從二進(jìn)制代碼和匯編說(shuō)起,但那太遙遠(yuǎn)了。我們就從面向過(guò)程的語(yǔ)言說(shuō)起吧(包括BasicCFortranPascal)。這種面向過(guò)程的高級(jí)語(yǔ)言終于把計(jì)算機(jī)帶入了尋常的應(yīng)用領(lǐng)域。其中的C語(yǔ)言因?yàn)樗暮?jiǎn)單和靈活造就了Unix和Windows這樣的偉大的軟件。

  面向?qū)ο蟮恼Z(yǔ)言是計(jì)算機(jī)語(yǔ)言的一個(gè)合乎邏輯的進(jìn)化,因?yàn)樵跊](méi)有過(guò)多的影響效率、簡(jiǎn)單性的前提下提供了一種更好的組織數(shù)據(jù)的方法,可使程序更容易理解,更容易管理——這一點(diǎn)可能會(huì)引出不同意見(jiàn),但事實(shí)勝于雄辯,C++終于讓C語(yǔ)言的領(lǐng)地越來(lái)越小,當(dāng)今還活著的計(jì)算機(jī)語(yǔ)言或多或少的都具備面向?qū)ο蟮奶卣鳎赃@一點(diǎn)并不會(huì)引起太多困惑。C++的成功很大程度要?dú)w因于C,C++成為它今天的樣子是合乎邏輯的產(chǎn)物。因?yàn)樵诿嫦蜻^(guò)程的時(shí)代,C幾乎已經(jīng)統(tǒng)一天下了。今天著名的語(yǔ)言象JavaC#都從C借鑒了很多東西,C#本來(lái)的意思就是C++++。其實(shí)C++曾經(jīng)很有理由統(tǒng)一面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的天下來(lái)著,但可惜的是,C++太復(fù)雜了。即使是一個(gè)熟練的程序員,要你很清楚的解釋一些問(wèn)題你也會(huì)很頭痛。舉幾個(gè)還不是那么復(fù)雜的例子來(lái)說(shuō):

  對(duì)=的重載成員轉(zhuǎn)換函數(shù)拷貝構(gòu)造函數(shù)轉(zhuǎn)化構(gòu)造函數(shù)之間有什么區(qū)別和聯(lián)系呢?

  定義一個(gè)類成員函數(shù)private:virtualvoidMemFun()=0;是什么意義呢?

  int(*(*x(int))[4])(double);是什么意思?

  還有其他的特征,比如說(shuō)可以用來(lái)制造一種新語(yǔ)言的typedef和宏(雖然宏不是C++的一部分,但它與C++的關(guān)系實(shí)在太密切了),讓你一不小心就摔跤的內(nèi)存問(wèn)題(只要new和delete就可以了嗎?有沒(méi)有考慮一個(gè)對(duì)象存放在容器中的情況?)……諸如此類,C++是如此的復(fù)雜以至于要學(xué)會(huì)它就需要很長(zhǎng)的時(shí)間,而且你會(huì)發(fā)現(xiàn)即使你用C++已經(jīng)好幾年了,你還會(huì)發(fā)現(xiàn)經(jīng)常有新東西可學(xué)。你想解決一個(gè)應(yīng)用領(lǐng)域的問(wèn)題——比如說(shuō)從數(shù)據(jù)庫(kù)里面查詢數(shù)據(jù)、更改數(shù)據(jù)那樣的問(wèn)題,可是你卻需要首先為C++頭痛一陣子才可以,是的,你精通C++,你可以很容易的回答我的問(wèn)題,可是你有沒(méi)有想過(guò)你付出了多大的代價(jià)呢?我不是想過(guò)分的譴責(zé)C++,我本人喜歡C++,我甚至建議一個(gè)認(rèn)真的開(kāi)發(fā)普通的應(yīng)用系統(tǒng)的程序員也去學(xué)習(xí)一下C++,C++中的一些特性,比如說(shuō)指針運(yùn)算模板STL幾乎讓人愛(ài)不釋手,宏可以用幾個(gè)字符代替很多代碼,對(duì)系統(tǒng)級(jí)的程序員來(lái)說(shuō),C++的地位是不可替代的,Java的虛擬機(jī)就是C++寫(xiě)的。C++還將繼續(xù)存在而且有旺盛的生命力。

  2.1.2 Java和C#

  Java和C#相對(duì)于C++的不同最大的有兩點(diǎn):第一點(diǎn)是他們運(yùn)行在一個(gè)虛擬環(huán)境之中,第二點(diǎn)是語(yǔ)法簡(jiǎn)單。對(duì)于開(kāi)發(fā)人員而言,在語(yǔ)法和語(yǔ)言機(jī)制的角度可以把Java和C#視為同一種語(yǔ)言。C#更多的是個(gè)政治的產(chǎn)物而不是技術(shù)產(chǎn)物。如果不是Sun為難微軟的話,我想微軟不會(huì)費(fèi)盡心力推出一個(gè)和Java差不多的C++++,記得Visual J++嗎,記得WFC嗎?看看那些東西就會(huì)知道微軟為Java曾經(jīng)傾注了多少心血。而且從更廣泛的角度來(lái)說(shuō),兩者也是非常相似的——C#和Java面對(duì)的是同樣的問(wèn)題,面向應(yīng)用領(lǐng)域的問(wèn)題:事務(wù)處理、遠(yuǎn)程訪問(wèn)、Webservice、Web頁(yè)面發(fā)布、圖形界面。那么在這一段中,我暫且用Java這個(gè)名字指代Java和C#兩種語(yǔ)言——盡管兩者在細(xì)節(jié)上確實(shí)有區(qū)別。Java是適合解決應(yīng)用領(lǐng)域的問(wèn)題的語(yǔ)言。最大的原因Java對(duì)于使用者來(lái)說(shuō)非常簡(jiǎn)單。想想你學(xué)會(huì)并且能夠使用Java需要多長(zhǎng)時(shí)間,學(xué)會(huì)并且能夠使用C++要多長(zhǎng)時(shí)間。由于Java很大程度上屏蔽了內(nèi)存管理問(wèn)題,而且沒(méi)有那么多為了微小的性能提升定義的特殊的內(nèi)容(比如說(shuō),在Java里面沒(méi)有virtual這個(gè)關(guān)鍵字,Java也不允許你直接在棧上創(chuàng)建對(duì)象,Java明確的區(qū)分bool和整型變量),他讓你盡量一致的方式操作所有的東西,除了基本數(shù)據(jù)類型,所有的東西都是對(duì)象,你必須通過(guò)引用來(lái)操 作他們;除了這些之外,Java還提供了豐富的類庫(kù)幫助你解決應(yīng)用問(wèn)題——因?yàn)樗敲嫦驊?yīng)用的語(yǔ)言,它為你提供了多線程標(biāo)準(zhǔn)、JDBC標(biāo)準(zhǔn)、GUI標(biāo)準(zhǔn),而這些標(biāo)準(zhǔn)在C++中是不存在的,因?yàn)镃++并不是直接面向解決應(yīng)用問(wèn)題的用戶,有人試圖在C++中加入這些內(nèi)容,但并不成功,因?yàn)镃++本身太復(fù)雜了,用這種復(fù)雜的語(yǔ)言來(lái)實(shí)現(xiàn)這種復(fù)雜的應(yīng)用程序框架本身就是一件艱難的事情,稍后我們會(huì)提到這種嘗試——COM技術(shù)。漸漸的,人們不會(huì)再用C++開(kāi)發(fā)應(yīng)用領(lǐng)域的軟件,象MFCQTCOM這一類的東西最終也將退出歷史舞臺(tái)。

  2.1.3 Delphi

  Delphi是從用C++開(kāi)發(fā)應(yīng)用系統(tǒng)轉(zhuǎn)向用Java開(kāi)發(fā)應(yīng)用系統(tǒng)的一個(gè)中間產(chǎn)物。它比C++簡(jiǎn)單,簡(jiǎn)單的幾乎象Java一樣,因?yàn)樗暮?jiǎn)單,定義和使用豐富的類庫(kù)成為可能,而且Delphi也這么做了,結(jié)果就是VCL和其他的組件庫(kù)。而另一方面,它又比運(yùn)行于虛擬環(huán)境的Java效率要高一些,這樣在簡(jiǎn)單性和效率的平衡之中,Delphi找到了自己的生存空間。而且預(yù)計(jì)在未來(lái)的一段時(shí)間之內(nèi),這個(gè)生存空間將仍然是存在的。可以明顯的看出,微軟放棄了這個(gè)領(lǐng)域,他專注于兩方面:系統(tǒng)語(yǔ)言C++和未來(lái)的Java(其實(shí)是.Net)。也許這對(duì)于Borland來(lái)說(shuō),是一件很幸運(yùn)的事情。如果我能夠給Borland提一些建議的話,那就是不要把Delphi弄得越來(lái)越復(fù)雜,如果那樣,就是把自己的用戶趕到了C++或Java的領(lǐng)地。在虛擬機(jī)沒(méi)有最終占領(lǐng)所有的應(yīng)用程序開(kāi)發(fā)領(lǐng)域之前,Delphi和Delphi的用戶仍然會(huì)生存得很好。

  2.2桌面應(yīng)用程序框架

  目前真正成功的桌面應(yīng)用程序框架只有兩個(gè),一個(gè)是MFC,一個(gè)是VCL,還有一些其他的,但事實(shí)上并未進(jìn)入應(yīng)用領(lǐng)域。遺憾的是我對(duì)兩個(gè)桌面應(yīng)用程序框架都不精通。但這不妨礙我對(duì)他做出正確的評(píng)價(jià)。

  2.2.1MFC

  MFC(還有曾經(jīng)的OWL)是SDK編程的正常演化的結(jié)果,就象是C++是C的演化結(jié)果一樣。MFC本身是一件了不起但不那么成功的作品,而且它過(guò)時(shí)了。這就是我的結(jié)論。MFC凝聚了很多天才的智慧——當(dāng)然,OWL和VCL也一樣,侯捷的《深入淺出MFC》把這些智慧擺在了我們的面前。但是這件東西用起來(lái)估計(jì)不會(huì)有人覺(jué)得很舒服,如果你一直在用Java、VB或者Delphi,再回過(guò)頭來(lái)用MFC,不舒服的感覺(jué)會(huì)更加強(qiáng)烈。我不能夠解釋MFC為什么沒(méi)有能夠最終發(fā)展成和VCL一樣簡(jiǎn)單好用的桌面程序框架,也許是微軟沒(méi)精力或者沒(méi)動(dòng)力,總之MFC就是那個(gè)樣子了,而且也不會(huì)再有發(fā)展,它已經(jīng)被拋棄了。我有時(shí)候想,也許基于C++這種復(fù)雜的語(yǔ)言開(kāi)發(fā)MFC這樣的東西本身就是錯(cuò)誤的——可以開(kāi)發(fā)這樣的一個(gè)框架,但不應(yīng)當(dāng)要求使用它的人熟悉了整個(gè)框架之后才能夠使用這個(gè)系統(tǒng),但很顯然,如果你不了解MFC的內(nèi)部機(jī)制,是不太可能把它用好的,我不能解釋清楚為什么會(huì)出現(xiàn)這種現(xiàn)象。

  2.2.2VCL

  相比之下VCL要成功的得多。我相信很多使用VCL的人可能沒(méi)有像MFC的用戶研究MFC那樣費(fèi)勁的研究過(guò)VCL的內(nèi)部機(jī)制。但這不妨礙他們開(kāi)發(fā)出好用好看的應(yīng)用程序,這就足夠了,還有什么好說(shuō)的呢?VCL給你提供了一種簡(jiǎn)單一致的機(jī)制,讓你可以寫(xiě)出復(fù)雜的應(yīng)用程序。在李維的Borland故事那篇文章中曾經(jīng)說(shuō)過(guò),在Borland C++ 3.1推出之后Borland就有人提出開(kāi)發(fā)類似C++ Builder一類的軟件,后來(lái)竟未成行。是啊,如果C++ Builder是在那個(gè)時(shí)候出現(xiàn)的,今天的軟件開(kāi)發(fā)領(lǐng)域?qū)?huì)是怎么樣的世界呢?真的不能想象。也許再過(guò)一段時(shí)間,這些都將不再重要。因?yàn)樾律恼Z(yǔ)言如Java和C#都提供了類似于VCL的桌面應(yīng)用程序框架。那個(gè)時(shí)候,加上Java和C#本身的簡(jiǎn)單性,如果他們的速度有足夠塊,連Delphi這種語(yǔ)言也要消失了,還有什么好爭(zhēng)論的呢?只是對(duì)于今天的桌面程序開(kāi)發(fā)人員來(lái)說(shuō),VCL確實(shí)是最好的選擇
主站蜘蛛池模板: 久久久久爽亚洲精品 | 人人澡人摸人人添 | 成人国产网站v片免费观看 成人国产午夜在线视频 | 色综合欧美综合天天综合 | 国产男女在线观看 | 狠狠色伊人亚洲综合成人 | 日本黄色免费看 | 97久久精品午夜一区二区 | 亚洲一区二区三区av在线观看 | 日韩精品专区av无码 | www.尤物在线 | 青青草原在线视频 | 久久精品人妻一区二区三区 | 一本大道香一蕉久在线影院 | 久久久不卡 | 欧美乱妇高清无乱码免费 | 五月婷之久久综合丝袜美腿 | 国产偷人妻精品一区二区在线 | 无码专区久久综合久中文字幕 | 久久久中文字幕日本无吗 | av天天看 | www.在线免费观看 | 精品国产高清在线看国产 | 国产精品美女久久久免费 | 亚洲a在线视频 | 日本激情高清版免费视频 | 美美女高清毛片视频黄的一免费 | 日韩精品中文字幕视频一区 | 未满十八勿入av网免费 | 国产精品多p对白交换绿帽 国产精品多人p群无码 | 色中色综合 | 欧美性猛交内射兽交老熟妇 | 国产亚洲一区二区手机在线观看 | 中国一级毛片欧美一级毛片 | 午夜国产精品视频 | 色一情一乱一伦一视频免费看 | 日韩欧美亚洲香蕉七次郎 | 午夜福利伦伦电影理论片在线观看 | 国产成人精品电影在线观看 | 国产综合亚洲欧美日韩一区二区 | 久久久欧美国产精品人妻噜噜 |