IronPython的未来与稳定性
我现在想把我的C++/C#应用程序和一些Python脚本结合起来。现在看来,IronPython是个不错的选择。
不过在继续之前,我想问几个问题:
- 现在IronPython的稳定性怎么样?可以用在生产环境吗?有没有什么已知的重大问题或bug?
- IronPython的未来怎么样?会有人维护它修复bug吗?会有新版本发布吗?
我特别想用IronPython来运行像Django或Web2py这样的Python网络框架。我知道目前的Python网络框架和它的兼容性不太好。所以如果能提供一些关于IronPython未来在网络框架支持方面的见解,我会非常感激。
1 个回答
关于你的第二个问题,是的,IronPython将来会继续开发。目前,CPython(Python的主要版本)正在进行一个“语言变更暂停”,具体可以查看PEP 3003。Python的开发团队希望CPython、Jython和其他Python版本能够赶上CPython的进度,他们也在努力实现这一目标。如果一切顺利,当这个暂停结束时,IronPython等其他版本将会与Python 3.x的语法和功能保持一致。而且,由于IronPython得到了微软的支持,并且是他们动态语言运行时的重要组成部分(这是什么呢?),所以它被取消的可能性不大。
目前,IronPython的进展不错。根据他们的svn记录,代码更新的频率相当高(大约每隔一天就会有一次提交)。他们正在开发一个兼容Python 2.7的版本,alpha版本已经在7月16日发布(所以可以期待不久后会有IronPython 2.7的正式版本)。
至于解释器的稳定性,似乎相当稳定。我没有广泛使用IronPython,但2.6.1版本的表现几乎和CPython 2.6的解释器一模一样,只是标准库有所不同。
很多CPython的扩展在IronPython上无法使用。所以,如果你想用Django或者类似的框架,使用IronPython可能不是个好主意,因为它并不是真正的跨平台,某些框架也不兼容,而且性能比CPython差。IronPython的真正优势在于可以访问.NET提供的所有功能,包括ASP.NET(一个网页框架)和Silverlight。
如果你想使用.NET,IronPython在脚本方面是最好的选择。