青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

MyMSDN

MyMSDN記錄開發(fā)新知道

[知識(shí)庫][轉(zhuǎn)載]十年MFC經(jīng)歷認(rèn)識(shí)的Microsoft技術(shù)(ZT)

知識(shí)庫(KnowledgeLibrary) ?

固定鏈接http://m.shnenglu.com/mymsdn/category/3173.html


文章標(biāo)題:十年MFC經(jīng)歷認(rèn)識(shí)的Microsoft技術(shù)(ZT)
關(guān)鍵字:MFC、Microsoft、技術(shù)對(duì)比、技術(shù)發(fā)展
轉(zhuǎn)載自http://blog.vckbase.com/hangwire/archive/2005/05/26/5806.html
作者:hangwire
發(fā)表時(shí)間:2005-05-26 09:13


一、初識(shí)MFC

  我最初知道MFC大概是在1993年,那個(gè)時(shí)候Visual C++還沒面世,當(dāng)時(shí)Microsoft的C++編譯器還很弱,官方的名字是Microsoft C/C++ 7.0,MFC的版本是1.0,幾乎沒有引起什么反響,那個(gè)時(shí)期最好的C++開發(fā)環(huán)境是Borland C++ 3.1,其實(shí),大概是1992年11月份,一個(gè)偶然的機(jī)會(huì),我領(lǐng)略到Borland公司的厲害,記不得在什么地方,我看到一個(gè)絕妙的集成開發(fā)環(huán)境,即Turbo C++ 3.0 for Windows,這是我記憶中第一個(gè)真正的Windows環(huán)境下的C++集成開發(fā)環(huán)境,那種激動(dòng)的感覺至今仍記憶猶新,不客氣的說,當(dāng)時(shí)至少在C++方面,Microsoft與Borland不是一個(gè)水平的,Borland明顯的要高于Microsoft ,Borland的產(chǎn)品在技術(shù)上給我留下深刻的印象。那個(gè)時(shí)候Microsoft最好的開發(fā)平臺(tái)是Visual Basic 3.0,而Borland的Delphi正處于開發(fā)階段(Delphi 的代碼名稱是:"VB Killer")……,想起這些十幾年前的往事,我不禁感慨萬千。

  十幾年來,我用過許多開發(fā)環(huán)境,關(guān)于Visual Basic,我用過最早的DOS版本,Windows版的Visual Basic我基本上全都用過,至今我還記得每個(gè)版本的VB安裝盤磁盤的盤數(shù)。同樣,我用過各個(gè)版本的Delphi,特別是Delphi 2.0,給我留下極好的印象。Delphi提供真正編譯的可視化開發(fā)環(huán)境,那個(gè)時(shí)候(1994年左右),Delphi就可以開發(fā)帶有GUI的動(dòng)態(tài)鏈接庫,你可以想象,在Microsoft Access 2.0的應(yīng)用程序中可以加載一個(gè)Delphi Form并進(jìn)行程序交互,那種感覺真是棒極了。

  Borland C++是我心中無法抹掉的遺憾,從Turbo C到C++ Builder,我深刻的體驗(yàn)到Borland的輝煌和無奈,Delphi從VB Killer走到為VB護(hù)航(你可以想象Delphi一步到位的ActiveX 控件開發(fā)技術(shù)有多牛,早期的VB有多土,早期的VB不能開發(fā)動(dòng)態(tài)鏈接庫,因此無法開發(fā)ActiveX 控件,想起來真令人噓唏不已),Borland C++的命運(yùn)也是不濟(jì)。Borland C++ 3.1的輝煌永遠(yuǎn)不再了,十幾年的開發(fā)工作中,我在C++上投入了大量的精力,Borland C++曾經(jīng)給我?guī)頍o數(shù)的激動(dòng),然而這個(gè)經(jīng)典的名字卻在與Microsoft的競(jìng)爭(zhēng)中漸漸的流逝了……。

  MFC4.0的出現(xiàn),使得人們感覺Microsoft在C++方面趕上來了,這一版的MFC是Win95推出后出現(xiàn)在Visual C++ 4中(Microsoft沒有VC 3,VC4以前的版本是2.2、2.1、2.0、1.51、1.5、1.0)。也許是對(duì)Borland C++的潛意識(shí)的失望,我不知不覺的接受了MFC,VC 4.2推出時(shí),我通過正常渠道購買了這個(gè)編譯器的企業(yè)版。

二、關(guān)于Microsoft

  關(guān)于Microsoft,有無數(shù)的人要對(duì)這個(gè)名字?jǐn)⒄f感覺,這個(gè)令人討厭的名字!不知道是喜歡還是憎惡,你是程序員,你的心思可能就要因Microsoft的存在而動(dòng),即使你用Linux,你可能也是因?yàn)镸icrosoft技術(shù)因素。多少年來,這個(gè)名字每天都出現(xiàn)在你、我、他的面前,因?yàn)槟悴坏貌幻鎸?duì)Windows的存在,可是你憎恨這個(gè)名字嗎?你討厭這個(gè)名字嗎?我不知道是否已經(jīng)對(duì)這個(gè)名字麻木了。

  1998年我個(gè)人訂了Microsoft MSDN Universal 版,我開始比較全面接觸這個(gè)公司的開發(fā)技術(shù),你可以想象,1998年當(dāng)你面對(duì)上百張技術(shù)光盤的時(shí)候,你就知道什么叫做"厚度",當(dāng)我們有時(shí)說出"趕上"或 "達(dá)到"Microsoft某些產(chǎn)品的水平的時(shí)候,可能我們?nèi)狈?duì)這個(gè)公司"厚度"的真實(shí)了解。進(jìn)入MSDN,我感覺Microsoft簡直不是一個(gè)"公司",而是(或者正在形成)一個(gè)"社會(huì)"。

  當(dāng)時(shí)著名的技術(shù)網(wǎng)站http://www.codeguru.com全部的技術(shù)資料是可下載的(那個(gè)時(shí)候http://www.codeguru.com提供整個(gè)網(wǎng)站內(nèi)容下載服務(wù),大約3M左右),大名鼎鼎的

  有人說"COM"沒落了,那么就太不了解Microsoft了。在與"OpenDoc"的競(jìng)爭(zhēng)中,"COM"是個(gè)徹底的勝利者,在與"Java"的競(jìng)爭(zhēng)中,"COM"成功的進(jìn)化了,在這個(gè)過程中Microsoft體現(xiàn)了強(qiáng)大的吸收能力、以及無法想象的韌勁。.NET只不過是COM的"別名"而已。對(duì)于一個(gè)經(jīng)驗(yàn)豐富的C++程序員而言,.NET就是COM的進(jìn)化,而Microsoft內(nèi)部.NET就是"COM 3.0"(OLE2就是COM 2.0),而"CLR"就是一個(gè)不擇不扣的COM對(duì)象。曾經(jīng)有人問我,既然牛頓時(shí)代就奠定了基礎(chǔ)(想想著名的牛頓-萊布尼茨公式),幾百年后的今天,數(shù)學(xué)還研究"微積分"嗎?回答當(dāng)然是依然在研究!"微積分"早期是針對(duì)函數(shù)的,現(xiàn)代"微積分"是針對(duì)"流形(Manifold)、纖維叢(Fiber Bundle)"的,概念深?yuàn)W了,可是基本思想不變,只是"微積分"的思想得到合理的延拓與進(jìn)化,你了解Microsoft嗎?Microsoft Research有一批超一流的數(shù)學(xué)家在為Microsoft工作,其中一些是斐爾茲獎(jiǎng)的得主,Microsoft正在實(shí)現(xiàn)如同"微積分"進(jìn)化到"微分流形"一樣將"COM"進(jìn)化到".NET"。從科學(xué)概念角度上分析COM與Java,可能COM更全面、精確,從實(shí)現(xiàn)的成熟度上Java可能更成熟,可是你看到,Microsoft正在不緊不慢的追趕。Microsoft令人聯(lián)想起戰(zhàn)國時(shí)期的強(qiáng)秦。

  戰(zhàn)國時(shí)期的秦國,采取"遠(yuǎn)交近攻""撫弱掠強(qiáng)"等措施傲視六國,今天的Microsoft也是這樣,VB1.0時(shí),Microsoft推出"VBX"控件技術(shù),眾多的小公司得以生存,Microsoft自己不開發(fā)"VBX"組件,同樣"VBX"進(jìn)化為"OCX"時(shí),Microsoft并不十分強(qiáng)大,可是這種試探得到眾多小公司的響應(yīng)。1997年Microsoft Office 97、1998年Microsoft推出Visual Studio 6.0,給眾多中、小公司提供了生存、發(fā)展的機(jī)會(huì),例如Microsoft Office 97中集成了Visual Basic for Application 5.0,這項(xiàng)技術(shù)使得幾百家軟件開發(fā)商與Microsoft簽署了VBA技術(shù)許可協(xié)議,即使AutoDesk這樣的公司都與Microsoft簽署了這個(gè)協(xié)議,這個(gè)協(xié)議使得每個(gè)集成VBA的產(chǎn)品的給個(gè)用戶許可為Microsoft付40$的許可費(fèi),如果你了解VSIP(Visual Studio Integration Protocol)協(xié)議,以及有多少公司簽訂了VSIP協(xié)議,你就真正感覺到Microsoft的可怕;Microsoft Office 97、Visual Studio 6.0的用戶界面十分漂亮,為什么Microsoft自己的開發(fā)工具不提供類似的軟件組件?你看到眾多第三方的Microsoft盟友紛紛推出自己的界面庫以模仿Microsoft,他們不會(huì)反對(duì)Microsoft,因?yàn)樗麄円呀?jīng)形成了使得Microsoft以及這些公司得以生存的生態(tài)圈。

  Microsoft的技術(shù)儲(chǔ)備有多少,Microsoft之外的人很難說清楚,Microsoft中國公司也未必了解多少,1999年WTL類庫剛剛出現(xiàn)的時(shí)候,人們就希望WTL能得到官方的支持,或授權(quán)給一個(gè)Microsoft之外的一個(gè)公司(你能想象出Borland C++ 5.0內(nèi)置的ActiveX開發(fā)機(jī)制是基于Microsoft ATL類庫嗎?),直到今天,WTL依然如故,我們完全相信,如果Microsoft強(qiáng)力推廣WTL,WTL完全可以流行,可是Microsoft不缺類似的技術(shù),類似的類庫還有BCL(Base Control Library,一個(gè)用于開發(fā)輕量級(jí)ActiveX控件的類庫),Microsoft還有一個(gè)基于ATL的類庫,這個(gè)類庫用于開發(fā)ActiveX Designer,ActiveX Designer是絕大多數(shù)程序員不了解的一類對(duì)象,如果你熟悉Office開發(fā),你知道Office VBA 中有一類對(duì)象,即Form2,此外VB6.0 中的報(bào)表設(shè)計(jì)器(以及著名的Active Reporter),都屬于此類對(duì)象,用這個(gè)類庫,你可以為VB6.0以及集成VBA的系統(tǒng)提供定制化的可視化設(shè)計(jì)機(jī)制等等,如今ActiveX Designer已經(jīng)演化為集成于Visual Studio .NET中的設(shè)計(jì)器。

三、向Microsoft學(xué)習(xí)

  無論從什么角度評(píng)價(jià)Microsoft,我覺得Microsoft是值得我們學(xué)習(xí)的,如果說生活在這個(gè)時(shí)代有Microsoft存在是一場(chǎng)災(zāi)難,你就應(yīng)該痛恨這個(gè)家伙,但你首先要向這個(gè)家伙學(xué)習(xí)!我無意為Microsoft歌功頌德,我只是想說出十幾年我對(duì)Microsoft技術(shù)的感受。

  Microsoft在研究式的開發(fā)中受益極大,如果你有興趣,你可以訪問

  在Office大戰(zhàn)中,國產(chǎn)軟件的確在一些方面與Microsoft進(jìn)行較量,其實(shí)給人的感覺很勉強(qiáng),界面上的似是而非,或用戶習(xí)慣方面的接近并不能解決根本的問題,一個(gè)好的軟件開發(fā)人員必須是一個(gè)軟件使用的高手,很難想象一個(gè)軟件操作水平很拙劣的開發(fā)人員能開發(fā)出高水平的軟件,我最早使用的軟件之一就是Microsoft Word,當(dāng)時(shí)的版本是2.0,大概是1992年的事情,給我留下深刻印象的是集成于Word中的Word Basic,后來,我接觸到Excel 3.0,不出所料,Excel中集成的是Excel Basic,后來使用的Access中自然內(nèi)置Access Basic 1.0,在這些軟件集成捆綁成Office之前,我就感覺這些產(chǎn)品的構(gòu)思十分了不起,很具有Microsoft的風(fēng)格,因?yàn)槟阒溃词故且粋€(gè)DOS,Microsoft都要提供一個(gè)內(nèi)置的QBasic或GW Basic。雖然關(guān)于Microsoft的產(chǎn)品評(píng)論很多,作為一個(gè)技術(shù)人員,我認(rèn)為Microsoft的產(chǎn)品構(gòu)思絕對(duì)是第一流的,從1994年早期的Office系列到1997年形成的Office 4.2,我認(rèn)為,技術(shù)構(gòu)思上均領(lǐng)先于我國2002年以后的Office產(chǎn)品,你聽說過如下說法嗎?"Dos 作為操作系統(tǒng)的時(shí)代,Windows是應(yīng)用軟件;Windows是操作系統(tǒng)時(shí),Office成為Dos時(shí)代的Windows;那么如果按此規(guī)律,Office會(huì)不會(huì)替代Windows而成為操作系統(tǒng)?",現(xiàn)在在開發(fā)領(lǐng)域Visual Studio( .NET)正在成為另一個(gè)Office,你注意到了嗎?控制Visual Studio( .NET)集成開發(fā)環(huán)境的仍然是一個(gè)Basic語言引擎(Visual Basic .NET)。

  與許多公司不同的是,在技術(shù)體系上,Microsoft幾乎所有的產(chǎn)品是息息相關(guān)的,Windows、Office、Visual Studio .NET雖然各不相同,但公共的核心即將形成,我們已經(jīng)看到,核心組件方面,Office與Visual Studio .NET日漸趨于一致,例如Microsoft正在將Office 2003的核心組件VBA 6.X逐步用新的Visual Studio Tools for Office替代,而我們依然在一些似是而非的現(xiàn)象上與Microsoft的產(chǎn)品比較差距,國家采購或政府采購支持的公司,不去鉆研核心技術(shù),只是急功近利的采用短期行為急于與Microsoft相爭(zhēng),不知是否有蚍蜉撼樹的感覺,個(gè)人的體驗(yàn)是,先學(xué)習(xí)Microsoft,踏踏實(shí)實(shí)的學(xué),了解Microsoft,深入的了解,然后再喊口號(hào)。

四、為什么用MFC?

  經(jīng)過若干年的競(jìng)爭(zhēng),Borland 的OWL幾乎消失了,這個(gè)OWL是個(gè)非常漂亮的C++類庫,在Borland C++ 3.1風(fēng)光無限的年代,OWL真正的做到了獨(dú)領(lǐng)風(fēng)騷。然而,Borland C++ 4.0錯(cuò)過了進(jìn)入32位程序的最佳時(shí)機(jī),BC 4.0推出后不久,迎來了Win95,Borland倉促上陣,以一個(gè)小的"Pack"使得BC4可以編譯基于Win4的程序,當(dāng)時(shí)的Visual C++是2.0版,支持Window16的版本為Visual C++1.51,有意思的是Borland可以用同一個(gè)編譯器同時(shí)支持Win16、Win32,而Microsoft卻不得不為Win16、Win32提供不同的編譯器。然而,非正式版本的Visual C++ 2.1與Visual C++ 2.2卻悄悄地支持了Win95的最新特征,即Win95新提供的一組公共控件,在我的印象中,Borland對(duì)Win95新特征的支持不利使得MFC與OWL的距離極大的縮短了。稍后到來的Borland C++ 4.5沒有改變這個(gè)狀況,盡管Borland C++ 5.0同時(shí)支持OWL與MFC,可是敗象已經(jīng)顯露,Borland C++非常遺憾的只走到了5.5版。C++ Builder雖然形式上引入了Delphi的VCL庫,可是許多C++程序員并不買賬,因?yàn)樵S多以C++為樂的人更喜歡以編輯的模式進(jìn)行編碼。Visual C++ 4.0的出現(xiàn),在C++這個(gè)戰(zhàn)場(chǎng)上,Borland開始落敗了。

  MFC發(fā)展到今天,已經(jīng)十多年了,盡管褒貶不一,但可以肯定,十幾年的技術(shù)積累已經(jīng)奠定了MFC的生存基礎(chǔ),即使Microsoft的長角發(fā)布,MFC也不能推出Windows的舞臺(tái),事實(shí)上,長角(Longhorn)之后的Visual Studio .NET仍將MFC作為一個(gè)重要的組成部分,在今年的Visual Studio .NET 2005中,MFC在C++中的位置依然如故。MFC的未來,應(yīng)該不必?fù)?dān)心,只要你深入考察.NET類庫,你會(huì)發(fā)現(xiàn),MFC的許多思想機(jī)制正悄然進(jìn)入.NET,與此同時(shí),Microsoft的第三方盟友十多年來已為MFC開發(fā)了大量的擴(kuò)展庫,如果Microsoft是船,第三方盟友就是載舟之水。許多人認(rèn)為MFC不發(fā)展了,其實(shí)是一種錯(cuò)覺,Visual C++ 6的界面十分經(jīng)典,特別是其中的Docking控制條機(jī)制,其實(shí)Visual C++ 6的IDE完全就是MFC寫的,可是MFC類庫中控制條相關(guān)的類功能很弱,為什么?你會(huì)看到許多與Microsoft友好的公司,他們很快的在MFC基礎(chǔ)上實(shí)現(xiàn)了Visual C++ 6 的Docking機(jī)制,這就是Microsoft的高明之處,Microsoft很會(huì)給盟友提供機(jī)會(huì),其一貫的做法就是在自己的商品化產(chǎn)品中預(yù)先提供一些有趣的特征,使得其他一些公司進(jìn)行模仿以帶動(dòng)用戶群體。Borland不具備這樣的儲(chǔ)備。MFC第三方市場(chǎng)的繁榮,得益于Microsoft的策略與明智。MFC可否跨平臺(tái)?理論上完全可以,Microsoft不做,也是策略,但是有許多重要的產(chǎn)品Microsoft卻默許MFC移植到其他平臺(tái),事實(shí)上,Microsoft的合作伙伴之一Mainsoft公司(Windows源碼就是從這家公司流失的),幾年來就是負(fù)責(zé)移植MFC程序移植到UINIX、Linux、AIX等操作系統(tǒng)之上。

  新版的Visual C++中MFC已經(jīng)支持.NET開發(fā)了,MFC與ATL的協(xié)作更好了。根據(jù)我的經(jīng)驗(yàn),MFC、ATL與.NET庫三者完全可以融合在一起綜合應(yīng)用到實(shí)際的開發(fā)工作中去,如果你是MFC行家,我希望ATL與.NET庫能成為你的忠實(shí)的左右手。那么有沒有同時(shí)支持MFC、ATL與.NET庫的程序?當(dāng)然有,Visual Studio .NET IDE就是!而且Visual Studio .NET IDE還支持用ATL與.NET庫擴(kuò)展的Addin,如果你希望用MFC管理ATL與.NET庫,請(qǐng)繼續(xù)支持我!

五、認(rèn)識(shí)Application對(duì)象

  如果你熟悉Microsoft Office,你應(yīng)該進(jìn)一步的剖析這個(gè)大型軟件,Microsoft Office中幾乎每個(gè)程序都是可二次開發(fā)的,這一點(diǎn)得益于Microsoft Office內(nèi)置的二次開發(fā)機(jī)制,一個(gè)是基于COM機(jī)制的VBA模型,另一個(gè)是基于.NET框架的托管模型:Visual Studio Tools for Office。作為一名程序員,你應(yīng)當(dāng)在技術(shù)角度解析Office的技術(shù)結(jié)構(gòu)。Microsoft的大多數(shù)軟件的對(duì)象結(jié)構(gòu)可以通過Visual Studio提供的工具OLE/COM Object Viewer考察其類型庫得到,通過引用類型庫,你甚至可以得到描述對(duì)象信息的C++頭文件。這樣做真是好處多多。一個(gè)典型的Office通常都有一個(gè)Application對(duì)象(或其他一個(gè)與之相當(dāng)?shù)膶?duì)象),這個(gè)對(duì)象相當(dāng)于軟件樞紐,在這里,我們不討論Office,借此話題說說Application對(duì)象。大多數(shù)支持?jǐn)U展(Addin、Plugin)的軟件都存在類似的構(gòu)造。通常,一個(gè)系統(tǒng)得Application對(duì)象或者是一個(gè)COM對(duì)象,或者是一個(gè).NET對(duì)象,如果你的系統(tǒng)存在這類對(duì)象,你的系統(tǒng)就基本具備支持Addin、Plugin的機(jī)制了。一個(gè)理想的做法就是在一個(gè)MFC系統(tǒng)中,內(nèi)置一個(gè)ATL對(duì)象或.NET對(duì)象,稍后我們給出方案如何做到這一點(diǎn)。設(shè)計(jì)Application對(duì)象的關(guān)鍵是如何規(guī)劃這個(gè)對(duì)象的屬性、方法、事件。如果你希望系統(tǒng)具備良好的擴(kuò)展性,Application對(duì)象是十分關(guān)鍵的,這也是構(gòu)架藝術(shù)的體現(xiàn)。所謂Addin(Plugin),是系統(tǒng)運(yùn)行時(shí)根據(jù)需要加載的對(duì)象庫,Addin(Plugin)之所以可以擴(kuò)展系統(tǒng),關(guān)鍵的因素就是系統(tǒng)加載Addin(Plugin)時(shí),將Application對(duì)象傳遞給Addin(Plugin)庫,設(shè)想一下,如果Application恰到好處的觸發(fā)了系統(tǒng)事件,而Addin(Plugin)庫如愿的解釋了事件,一個(gè)Addin(Plugin)庫的任務(wù)不就OK了嗎!因此Application對(duì)象是系統(tǒng)設(shè)計(jì)的關(guān)鍵。

  如果你精通ATL對(duì)象,在你的MFC系統(tǒng)中添加一個(gè)ATL對(duì)象,這個(gè)任務(wù)可以用VC Wizard完成。你已經(jīng)接受了一個(gè)事實(shí),就是MFC程序中存在一個(gè)CXXXApp對(duì)象(CWinApp的派生類),現(xiàn)在你要做的是增加一個(gè)對(duì)應(yīng)得ATL對(duì)象。這個(gè)對(duì)象可以在CXXXApp::InitInstance()中創(chuàng)建,如果ATL對(duì)象的類是CXXXAppObject,建議你在CXXXApp對(duì)象對(duì)象中增加一個(gè)成員變量,例如:CComObject<CXXXAppObject>* m_pAppObj,然后可以入下初始化m_pAppObj:

m_pAppObj = new CComObject<CXXXAppObject>;

  注意程序結(jié)束時(shí)在CXXXApp::ExitInstance()中釋放m_pAppObj,語句如下:

delete m_pAppObj;

  你可以將系統(tǒng)得關(guān)鍵屬性設(shè)置成CXXXAppObject的屬性,例如系統(tǒng)得標(biāo)題、是否為多文檔等等。系統(tǒng)希望外部調(diào)用的功能可以實(shí)現(xiàn)為CXXXAppObject的方法,這一點(diǎn)取決于你的需要。系統(tǒng)需要外部擴(kuò)展的功能,表現(xiàn)為CXXXAppObject的事件,關(guān)鍵是在恰當(dāng)?shù)奈恢糜|發(fā)事件以及提供的事件參數(shù)。例如,你可以在CXXXApp::InitInstance()觸發(fā)應(yīng)用程序開始的事件OnStartUp,Plugin捕獲事件后,可以進(jìn)行特定的初始化(身份確認(rèn)、初始信息查詢等等);你可以在CXXXApp::ExitInstance()觸發(fā)應(yīng)用程序結(jié)束事件,Plugin捕獲事件后,處理用戶需要的系統(tǒng)退出工作。所有的設(shè)計(jì)取決于具體設(shè)計(jì)。

  如何加載Plugin,是一個(gè)有趣的問題,如果Plugin實(shí)現(xiàn)為一個(gè)COM范疇(Category),可以運(yùn)用COM技術(shù)枚舉這個(gè)Category;可以將Plugin安裝到一個(gè)特定目錄,也可以通過注冊(cè)表。Plugin的實(shí)現(xiàn)可以用COM技術(shù)、也可以用.NET框架。適當(dāng)?shù)臋C(jī)會(huì)我會(huì)提供例子……

六、后記

  一時(shí)心血來潮,就寫了這篇文章,很難說是有心,還是無意。幾天前我在新浪網(wǎng)上看應(yīng)氏杯圍棋決賽,我覺得該贏了吧,作為一個(gè)圍棋迷,我們等了十幾年,等到了屬于國人的應(yīng)氏杯。記得7、8年前在還在大學(xué)工作的時(shí)候,有一次,一位同事興致沖沖的走道我面前對(duì)我說:"嗨,昨天馬XX贏了李昌鎬!",當(dāng)時(shí)我在系辦公室正在看報(bào)紙,那位仁兄見我頭都沒抬,非常不滿的搶下報(bào)紙,對(duì)我吼道:"喂!馬XX贏了李昌鎬!!你聽到?jīng)]有!!!",我對(duì)他說:"你大驚小怪個(gè)啥?!馬XX輸了李昌鎬多少盤,你知道嗎?",馬XX幾乎一直在輸給李昌鎬,人們已經(jīng)不奇怪了,偶爾贏一次,國人就把他捧得北都找不到了,李昌鎬弱冠17的時(shí)候就傲視這個(gè)世界了,可至今面孔不變,幾天前的農(nóng)心杯,中日聯(lián)軍5個(gè)人,被他打個(gè)落花流水,李昌鎬是公認(rèn)的世界第一,以至于有的高手知道下一個(gè)對(duì)手如果是他,就會(huì)去訂回程機(jī)票。這次應(yīng)氏杯,國人竟然感謝崔哲瀚,何也?因?yàn)檫@個(gè)弱冠19的小子,擋住了他的大哥李昌鎬才使得應(yīng)氏杯有了懸念。當(dāng)國人媒體在說韓國僅李昌鎬一人厲害的時(shí)候,不知道是出何居心還是自欺欺人,李昌鎬年方30,不知道要力壓中、日多少年!面對(duì)這個(gè)名字,真有點(diǎn)麻木了,這個(gè)太極虎!

  軟件界又來了我們一向不齒的印度虎,2001年我們的軟件出口額僅是印度的四十分之一,我們震驚了,怎么可能呢?這個(gè)四十分之一水分很大,很可能更可憐!當(dāng)時(shí)我在大連參加一個(gè)關(guān)于"大連軟件出口國內(nèi)第一"的官方會(huì)議,那位大人在會(huì)上說:"據(jù)說,我們大連軟件出口國內(nèi)排名第一,市有關(guān)領(lǐng)導(dǎo)希望今天的會(huì)議給出這個(gè)第一的數(shù)字依據(jù),希望你們把數(shù)據(jù)報(bào)上來,去年的數(shù)據(jù)也可申報(bào),注意,我們要的只是數(shù)據(jù),你們仔細(xì)體會(huì),我們根據(jù)數(shù)據(jù),有獎(jiǎng)勵(lì),機(jī)會(huì)難得呀!"……。某一天,幾個(gè)朋友在我家看央視的對(duì)話節(jié)目,對(duì)話一方為國內(nèi)的軟件大鱷們(用友、阿爾派等公司的老總們),另一方為印度軟件的一個(gè)代表團(tuán)。當(dāng)問及中、印軟件差距的時(shí)候,我們的劉老總(代表阿爾派)不以為然的說,據(jù)他的看法,我們已經(jīng)快趕上(印度)了,……,言下之意頗有印度的水平不過如此的感覺,印度方的話我至今記憶猶新:"是否趕上,國際市場(chǎng)說的算!在中國看來,印度程序員的個(gè)性不足,技術(shù)也不怎么樣,其實(shí)是個(gè)錯(cuò)覺,印度軟件首先注重個(gè)性,許多重要的美國商品化軟件都是在印度本土開發(fā)的……",我們的輿論總是將印度程序員的水平描述的平庸至極,可是差距日漸拉開,……,圍棋、足球(不好意思談,談不出口!)、軟件,我們被近鄰嚴(yán)酷的封鎖了,樂壞了記者們、給媒體帶來了生機(jī)……

  日本江戶時(shí)代的圍棋,如果一個(gè)人要想世襲一個(gè)稱號(hào)(例如:本因坊),他必須戰(zhàn)勝所有的師兄弟,然后,住進(jìn)師父家的內(nèi)室,你知道以后的事情嗎?以后,這個(gè)棋手,就得為師父一家做飯、帶孩子、搞衛(wèi)生……,其余的門人則一心一意的下棋,這樣的人、方式,造就了一代一代的本因坊,他們的棋譜大多數(shù)都流芳至今,這就是早期日本圍棋的悟道模式。軟件總共有多少語句?我最早接觸的計(jì)算機(jī)軟件教材是一本英文版的(影印的D版),不同于我們,那本書的作者構(gòu)造了"X-語言",他們不講什么C、Pascal、Basic,一旦缺了什么機(jī)制,就給"X-語言"添加些成分。什么C、Pascal、Basic,你感覺差不多,但現(xiàn)在卻分出了等級(jí)!我們駕馭語言的能力弱得很,可是我們?cè)谡Z言的細(xì)微之處卻很講究,不知道對(duì)不對(duì),許多程序員也許是出于虛榮而用C++,事實(shí)上,地球人到知道,做數(shù)據(jù)庫,Delphi、VB遠(yuǎn)比C++勝任,鋪天蓋地的C++的書,寫的東西幾乎雷同,因?yàn)椋杏玫幕蛘咦髡卟粚憽⒒蛘咦髡卟欢S袝r(shí)我在想,如果國內(nèi)沒有內(nèi)需,會(huì)怎樣?也許軟件內(nèi)需的存在,造就了中國軟件的特色,我認(rèn)為國內(nèi)業(yè)界并沒有充分利用中國軟件內(nèi)需的存在,也許中國軟件內(nèi)需的存在是軟件落后的硬傷。

  我記得一部電影《神辮》,那個(gè)英雄的大辮子被洋人炸掉了,最終他成了神槍手,戰(zhàn)勝洋人用大刀、秘籍是不行的,用洋的東西戰(zhàn)勝洋的技術(shù)才是正道。我覺得,一個(gè)好的程序員必須了解軟件的歷史,學(xué)習(xí)歷史,你知道你為什么弱,別人是如何強(qiáng)大的。我們正在另一個(gè)戰(zhàn)場(chǎng)上抗美(可笑的是我們卻要趕超印度!),無論Microsoft、Borland如何爭(zhēng)斗,無論他們誰統(tǒng)治誰,他們不影響美國的強(qiáng)大,朋友們,學(xué)習(xí)Microsoft,開發(fā)出讓國人感到牛的軟件!

posted on 2006-12-04 22:05 volnet 閱讀(738) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 知識(shí)庫(KnowledgeLibrary)

特殊功能
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久er99精品| 欧美特黄一区| aaa亚洲精品一二三区| 亚洲美女免费精品视频在线观看| 美脚丝袜一区二区三区在线观看| 亚洲欧美国产77777| 亚洲狼人综合| 亚洲女与黑人做爰| 欧美一区二区三区免费视频 | 亚洲国产天堂久久综合网| 久久夜色精品国产欧美乱极品| 久久久99国产精品免费| 久久亚洲私人国产精品va| 亚洲黄色大片| 性色av一区二区三区红粉影视| 午夜精品久久久久影视 | 欧美乱人伦中文字幕在线| 亚洲精品影视在线观看| 欧美激情中文字幕一区二区| 一本一本a久久| 欧美一区二区三区四区视频| 麻豆精品在线视频| 亚洲视频二区| 樱桃国产成人精品视频| 麻豆亚洲精品| 激情婷婷欧美| 在线亚洲一区| 999亚洲国产精| 欧美黑人多人双交| 久久精品亚洲精品| 国精产品99永久一区一区| 久久成人综合视频| 国产精品xxxav免费视频| 亚洲日本欧美在线| 农夫在线精品视频免费观看| 亚洲视频在线免费观看| 欧美在线免费播放| 99这里只有精品| 欧美中文字幕视频| 亚洲一区三区电影在线观看| 久久久99国产精品免费| 亚洲免费视频网站| 久久精品天堂| 久久福利一区| 亚洲欧洲一区二区天堂久久 | 亚洲一区二区三区四区五区黄| 久久久欧美一区二区| 一个色综合导航| 亚洲毛片av| 久久人人爽人人爽| 午夜亚洲激情| 亚洲人成久久| 午夜国产精品影院在线观看| 久热综合在线亚洲精品| 国产精品一区二区三区免费观看| 1024欧美极品| 亚洲精品视频啊美女在线直播| 亚洲高清在线观看一区| 99国产精品久久久| 理论片一区二区在线| 国产精品爱啪在线线免费观看| 亚洲第一页中文字幕| 国外视频精品毛片| 国产精品久久久久77777| 国产偷国产偷亚洲高清97cao| 樱花yy私人影院亚洲| 久久精品国产视频| 韩国女主播一区| 美女视频一区免费观看| 国产一区免费视频| 亚洲美女视频| 欧美日韩国产色综合一二三四| 国产精品红桃| 国产日韩欧美亚洲一区| 亚洲综合精品一区二区| 欧美在线关看| 99re在线精品| 影音先锋中文字幕一区| 国产精品日韩久久久久| 麻豆av一区二区三区久久| 亚洲午夜一区二区三区| 欧美va天堂| 欧美日韩一区二区三区免费看| 久久夜色精品国产| 亚洲男人第一网站| 国产欧美一区二区精品秋霞影院| 99精品免费网| 亚洲精品视频一区| 久久一二三四| 欧美日本中文字幕| 亚洲自拍偷拍色片视频| 久久精品观看| 99这里有精品| 亚洲老板91色精品久久| 亚洲美女av网站| 久久九九热re6这里有精品| 久久av一区二区三区漫画| 国产乱肥老妇国产一区二| 久久久噜噜噜久噜久久| 欧美成人精品影院| 久久久精品网| 欧美视频官网| 国产精品99久久久久久白浆小说| 欧美ed2k| 久久精品国产久精国产爱| 欧美国产亚洲精品久久久8v| 亚洲一区二区三区国产| 艳女tv在线观看国产一区| 国产片一区二区| 国产精品三区www17con| 欧美日韩国产一区二区三区地区| 久久久久www| 久久精品中文字幕免费mv| 久久国产精品久久久久久久久久| 亚洲一区精彩视频| 亚洲一区激情| 久久久综合精品| 欧美成人午夜| 欧美日韩亚洲网| 国产精品日日做人人爱| 亚洲国产裸拍裸体视频在线观看乱了中文| 夜夜爽av福利精品导航| 性伦欧美刺激片在线观看| 国产精品一区二区三区久久久 | 樱花yy私人影院亚洲| 日韩一二在线观看| 亚洲国产高清在线| 久久精品毛片| 亚洲午夜电影在线观看| 亚洲图片激情小说| 国产精品青草久久久久福利99| 国产精品青草综合久久久久99| 亚洲综合电影| 美女黄网久久| 欧美成人国产| 中文精品视频| 欧美精品在线观看播放| 久久久久国产精品麻豆ai换脸 | 国语自产精品视频在线看抢先版结局 | 亚洲亚洲精品三区日韩精品在线视频| 在线成人免费视频| 麻豆成人综合网| 一本久久知道综合久久| 一区二区三区日韩欧美| 久久麻豆一区二区| 最近中文字幕日韩精品| 一区二区三区视频在线观看| 亚洲欧美日韩国产成人| 欧美电影美腿模特1979在线看| 99在线热播精品免费99热| 狼人天天伊人久久| 国产在线视频不卡二| 亚洲欧美中文日韩v在线观看| 亚洲高清久久网| 免播放器亚洲| 在线观看久久av| 欧美高清hd18日本| 久久伊人免费视频| 尤物网精品视频| 欧美国产一区二区在线观看| 久久久综合精品| 亚洲国产天堂久久国产91| 免费日韩成人| 欧美精品在线一区| 中文av字幕一区| 亚洲免费视频成人| 国产嫩草影院久久久久| 久久精品国产第一区二区三区最新章节 | 99精品国产一区二区青青牛奶| 免费成人黄色av| 欧美日韩国产影院| 欧美一区二区视频97| 美国十次了思思久久精品导航| 亚洲人成绝费网站色www| av成人黄色| 亚洲激情电影在线| 亚洲午夜精品| 亚洲区欧美区| 欧美影院成人| 亚洲一区二区三区四区五区黄 | 亚洲男女毛片无遮挡| 欧美一级在线播放| 一区二区三区精品| 久久综合久久综合久久| 欧美一区二区三区啪啪| 欧美黑人国产人伦爽爽爽| 久久久久久一区| 国产欧美 在线欧美| 夜夜嗨网站十八久久| 亚洲精品日韩精品| 欧美jjzz| 亚洲欧洲一级| 一区二区冒白浆视频| 欧美人妖另类| 99精品国产在热久久婷婷| 亚洲蜜桃精久久久久久久| 免费不卡中文字幕视频| 欧美黄色大片网站| 99re热这里只有精品视频| 欧美日本不卡高清|