目前軟件開(kāi)發(fā)呈現(xiàn)的趨勢(shì)是Web應(yīng)用化,應(yīng)用網(wǎng)絡(luò)化,對(duì)我而言C是至陽(yáng),HTML是至陰,中庸思想不變,語(yǔ)言始終朝著一個(gè)平衡方向發(fā)展。COM和Asp(等)屬于上一代開(kāi)發(fā)技術(shù),他們?cè)趦蓚€(gè)極端跨進(jìn)了一大步。隨著.NET技術(shù)發(fā)展,.NET FrameWork從1.0發(fā)展到即將推出的3.0,逐漸強(qiáng)大完善,足以實(shí)現(xiàn)應(yīng)用網(wǎng)絡(luò)化。聽(tīng)對(duì)微軟技術(shù)研究很深的前輩說(shuō),微軟技術(shù)一般在3.0版本就代表成熟,本人了解不多,不過(guò)到想起VC6里面的ATL3.0。
動(dòng)態(tài)語(yǔ)言這幾年發(fā)展迅猛,目前python、Ruby如日中天,尤其是python語(yǔ)言,更是Java和.NET半壁江山鼎立局勢(shì)下新開(kāi)辟的戰(zhàn)場(chǎng),各自發(fā)展一套python--jave的JPython和.NET的IronPython。對(duì)于動(dòng)態(tài)語(yǔ)言我一直很關(guān)注,在沒(méi)有推出IronPython之前(準(zhǔn)確說(shuō)當(dāng)時(shí)我不知道,聽(tīng)說(shuō)這玩意2004都有?),我曾看過(guò)python語(yǔ)言,寫(xiě)了一篇關(guān)于C++調(diào)用Python的文章。大致瀏覽后發(fā)現(xiàn)傳統(tǒng)python與應(yīng)用開(kāi)發(fā)只是在語(yǔ)言級(jí)別集成,而無(wú)法象VBS、VBA那樣在COM模型上的繼承,可能是自己認(rèn)識(shí)膚淺,鑒于此對(duì)python的研究暫且放下。
前幾天了解到IronPython,聽(tīng)說(shuō)是微軟開(kāi)源(羊頭狗肉暫且不提)項(xiàng)目,心想這個(gè)咚咚肯定會(huì)和微軟技術(shù)無(wú)縫結(jié)合。
下載了源碼(C#)、執(zhí)行文件和全部代碼示例,放了幾天在桌面沒(méi)來(lái)及學(xué)習(xí)。今天解壓玩了一下,感覺(jué)不錯(cuò),感想拿出來(lái)和大家探討。
首先說(shuō)說(shuō)那個(gè)可執(zhí)行目錄IronPython-1.0下的ipyw.exe,在傳統(tǒng)python下有個(gè)基于GUI的環(huán)境,按照理解ipyw.exe也應(yīng)該是一個(gè)GUI環(huán)境,千呼萬(wàn)喚都出不來(lái),打開(kāi)源碼瞅瞅,暈,工程里面好像是Console下的文件,算了不管,先用CUI。不知道是什么問(wèn)題,知道的好心人望告知,謝謝。
接著侃侃如何學(xué)習(xí)IronPython。先看了看IronPython-1.0下ReadMe,不錯(cuò)里面就有兩個(gè)上手例子,在Running IronPython標(biāo)簽下,按照它寫(xiě)運(yùn)行出錯(cuò)了你打我。光這兩個(gè)個(gè)例子還不能說(shuō)明問(wèn)題,里面有鏈接到tutorial的標(biāo)簽,這個(gè)才是入門(mén)寶藏。看了看入門(mén)教材的目錄,實(shí)驗(yàn)了一個(gè)基于.NET 2.0窗體例子,沒(méi)遇到太大問(wèn)題。由于時(shí)間關(guān)系,很多例子不能一一實(shí)現(xiàn),當(dāng)然IronPython和WPF結(jié)合按照教材上說(shuō)得也是很完美的,不過(guò)需要.NET3.0 Runtime(Vista OS自帶),所以急迫需要裝一個(gè)Vista。想一下,其實(shí)好可怕,Vista起碼的4G,VS2005+MSDN又4G,光這兩個(gè)下來(lái)差不多10G。前一段時(shí)間,下載WPF SDK就1G,寫(xiě)一個(gè)WPFHelloWorld吃?xún)?nèi)存30M。微軟在為硬件廠商做嫁衣,而一次次強(qiáng)奸我們的可憐的機(jī)器。無(wú)可奈何,誰(shuí)讓她那么強(qiáng)大,誰(shuí)讓我被他牽著鼻子跑,呵呵。
到此雖不能說(shuō)我對(duì)IronPython了解,但是已經(jīng)令我很的滿(mǎn)意。IronPython在python基礎(chǔ)上發(fā)展而來(lái),自然在C++語(yǔ)言上集成沒(méi)有任何問(wèn)題。它本身對(duì)于.NET模型進(jìn)行集成,而.NET技術(shù)通過(guò)Interop統(tǒng)一了微軟的DLL、COM技術(shù),所以通過(guò)IronPython應(yīng)該可以將微軟開(kāi)發(fā)技術(shù)模型統(tǒng)一起來(lái)。IronPython目前畢竟還是一個(gè)小孩,尚不能體現(xiàn)出VBA那樣應(yīng)用模型級(jí)別的集成。如果不能可視化集成到應(yīng)用里面,IronPython在.NET集成技術(shù)上可能無(wú)法淋漓盡致的發(fā)揮,無(wú)法達(dá)到VBA那樣對(duì)COM技術(shù)在應(yīng)用擴(kuò)展方面的地位。在Jave和.NET這次python大戰(zhàn)里面,微軟肯定會(huì)重視IronPython的發(fā)展,棋差一招對(duì)于這些巨頭都是有損顏面的。
微軟下一代應(yīng)用開(kāi)發(fā)模型將會(huì)在每個(gè)發(fā)布的應(yīng)用程序里面嵌入一個(gè)VSTA二次擴(kuò)展環(huán)境,地位相當(dāng)于VBA,不知道會(huì)如何處理VSTA和IronPython的微妙關(guān)系。
胡說(shuō)八道一通,主要希望和大家交流技術(shù)。概念錯(cuò)誤望批評(píng),以免誤導(dǎo)他人。技術(shù)細(xì)節(jié),我會(huì)盡快研究。
posted on 2006-09-21 14:32
萬(wàn)連文 閱讀(4321)
評(píng)論(4) 編輯 收藏 引用 所屬分類(lèi):
.NET