谈谈Ironpython的应用

关注Ironpython很久了,但是一直也没有应用的场合。

不同于python的广泛应用,Ironpython真的是雷声大雨点小。宣传、简介铺天盖地,貌似很有前途。

实际上,我真的很少有用到ironpython的情况。ironruby也是如此。

曾经尝试用Ironpython来写程序,但是其调试非常复杂。

好在和VS2010结合比较早,调试还算方便。可是关键的问题是,如果我用了VS2010,我干嘛不直接用C#,其开发和调试能力有目共睹。

至今,我能够使用Ironpython的地方只有一处,那就是NEUT,一个个人开发的小软件。

在处理搜索字符串拼接问题上,我使用了ironpython。

为什么呢?因为搜索字符串拼接,随着不同的网站有不同的方式,比如google scholar、SFX等等,都不尽相同。

您可能会问为什么不使用配置文件?因为搜索字符串使用到的数据,也是不尽相同,有的需要的是ISSN号,有的需要标题。甚至还要做大小写转换,以及特殊符号替换处理。配置文件处理起来太麻烦。

采用Ironpython,很轻松就处理了,毕竟是程序而不是配置文件,我可以很便捷的根据不同的网站进行字符串拼接。

其实,有很多软件的配置文件,也是用python写的。

ironpython的使用十分不便,调用python程序,还需要一些辅助模块,害的我处理了很久。

当然,如果只是ironpython使用dotnet功能还好点。

问题是dotnet的类名、方法名都很长!如果没有IDE的帮助,我很难记起全称……

所以说ironpython,中看不中用。

另外,ironpython作为脚本语言,适合处理运行时变化的情况。就是说进程不关闭,改变脚本,有不同的结果。

如果python程序驻留在进程里,就非常的麻烦,也失去其特长。

比如我有一次写了一个类扩展dotnet接口,然后用dotnet反射加载。这样这个对象就驻留在内存里。

如果我不关闭程序,或者重启ironpython的runtime,我改变ironpython文件是没有意义的,还是会按旧程序运行!因为这个对象没有消亡。

相反,如果仅仅是个方法,调用完了就接触python程序任务,那真是方便。毕竟不用重启主程序。

你可能感兴趣的:(谈谈Ironpython的应用)