目前软件开发呈现的趋势是Web应用化,应用网络化,对我而言C是至阳,HTML是至阴,中庸思想不变,语言始终朝着一个平衡方向发展。COM和Asp(等)属于上一代开发技术,他们在两个极端跨进了一大步。随着.NET技术发展,.NET FrameWork从1.0发展到即将推出的3.0,逐渐强大完善,足以实现应用网络化。听对微软技术研究很深的前辈说,微软技术一般在3.0版本就代表成熟,本人了解不多,不过到想起VC6里面的ATL3.0。
动态语言这几年发展迅猛,目前python、Ruby如日中天,尤其是python语言,更是Java和.NET半壁江山鼎立局势下新开辟的战场,各自发展一套python--jave的JPython和.NET的IronPython。对于动态语言我一直很关注,在没有推出IronPython之前(准确说当时我不知道,听说这玩意2004都有?),我曾看过python语言,写了一篇关于C++调用Python的文章。大致浏览后发现传统python与应用开发只是在语言级别集成,而无法象VBS、VBA那样在COM模型上的继承,可能是自己认识肤浅,鉴于此对python的研究暂且放下。
前几天了解到IronPython,听说是微软开源(羊头狗肉暂且不提)项目,心想这个咚咚肯定会和微软技术无缝结合。
下载了源码(C#)、执行文件和全部代码示例,放了几天在桌面没来及学习。今天解压玩了一下,感觉不错,感想拿出来和大家探讨。
首先说说那个可执行目录IronPython-1.0下的ipyw.exe,在传统python下有个基于GUI的环境,按照理解ipyw.exe也应该是一个GUI环境,千呼万唤都出不来,打开源码瞅瞅,晕,工程里面好像是Console下的文件,算了不管,先用CUI。不知道是什么问题,知道的好心人望告知,谢谢。
接着侃侃如何学习IronPython。先看了看IronPython-1.0下ReadMe,不错里面就有两个上手例子,在Running IronPython标签下,按照它写运行出错了你打我。光这两个个例子还不能说明问题,里面有链接到tutorial的标签,这个才是入门宝藏。看了看入门教材的目录,实验了一个基于.NET 2.0窗体例子,没遇到太大问题。由于时间关系,很多例子不能一一实现,当然IronPython和WPF结合按照教材上说得也是很完美的,不过需要.NET3.0 Runtime(Vista OS自带),所以急迫需要装一个Vista。想一下,其实好可怕,Vista起码的4G,VS2005+MSDN又4G,光这两个下来差不多10G。前一段时间,下载WPF SDK就1G,写一个WPFHelloWorld吃内存30M。微软在为硬件厂商做嫁衣,而一次次强奸我们的可怜的机器。无可奈何,谁让她那么强大,谁让我被他牵着鼻子跑,呵呵。
到此虽不能说我对IronPython了解,但是已经令我很的满意。IronPython在python基础上发展而来,自然在C++语言上集成没有任何问题。它本身对于.NET模型进行集成,而.NET技术通过Interop统一了微软的DLL、COM技术,所以通过IronPython应该可以将微软开发技术模型统一起来。IronPython目前毕竟还是一个小孩,尚不能体现出VBA那样应用模型级别的集成。如果不能可视化集成到应用里面,IronPython在.NET集成技术上可能无法淋漓尽致的发挥,无法达到VBA那样对COM技术在应用扩展方面的地位。在Jave和.NET这次python大战里面,微软肯定会重视IronPython的发展,棋差一招对于这些巨头都是有损颜面的。
微软下一代应用开发模型将会在每个发布的应用程序里面嵌入一个VSTA二次扩展环境,地位相当于VBA,不知道会如何处理VSTA和IronPython的微妙关系。
胡说八道一通,主要希望和大家交流技术。概念错误望批评,以免误导他人。技术细节,我会尽快研究。
posted on 2006-09-21 14:32
万连文 阅读(4301)
评论(4) 编辑 收藏 引用 所属分类:
.NET