总结一下这几天来利用业余时间对IronPython的了解(还谈不上学习)
这个项目的一个目标是作为一个成功案例,帮助其它的动态语言移植到.NET平台上,以享受CLR提供的各项便利和大一统的Common Library(这是动态语言的短处)。
动态语言的好处:促成了一个交互式的开发周期,促进了敏捷开发,在一个探险式的开发过程中,给予程序员更多的乐趣
Python的好处:支持不同的编程范式:面向对象,结构化编程,函数式编程,并且对于面向方面的编程有一些支持;稀疏的语法带来了更好的可读性,相比一些结构化语言,有更少的句法构造,大量使用英文关键字代替标点符号,消除了许多Line Nosie(James Schementi说,C#中的Line Noise是为了静态类型和显示的声明,但客观上影响了可读性,这么说来自己明天的确是制造了许多的噪音:)),通过编译器/解释器对动态类型的跟踪,使程序员少了许多的显示声明工作。
IronPython的编译过程:
IronPython处理C#异常和Python异常冲突的解决方法是,自动转换异常到程序中catch想要的类型(?)
还有一个感兴趣的内容是,Aaron Marten提到,可以用IronPython代替VB来写VS的宏。
一些具体的语法:
import pyevent
pyenent.make_event()
if elif
try except
函数:
isinstance(obj, Button)
hasattr
getattr
LoadXaml
参考资料:
http://blogs.msdn.com/aaronmar/archive/2006/02/16/...
http://msdn.microsoft.com/msdnmag/issues/06/10/CLR...
IronPython的Tutorial