我很好奇.NET将如何影响Python和Ruby应用程序.
用IronPython/IronRuby编写的应用程序是否会特定于.NET环境,它们将基本上成为特定于平台的?
如果他们不使用任何.NET功能,那么IronPython/IronRuby相对于非.NET版本的优势是什么?
我不能说IronRuby,但是大多数python实现(如IronPython,Jython和PyPy)都尽可能地与CPython实现一样.IronPython正在迅速成为这方面最好的之一,并且Planet Python上有很多关于它的流量.
将鼓励开发人员编写与他们在CPython中编写的代码不同的主要内容是缺少像NumPy这样的C扩展模块(这也是Jython和PyPy中的一个问题).
一个值得关注的有趣项目是IronClad,它允许您从IronPython中调用C扩展模块.这最终意味着您可以使用您喜欢的任何模块在CPython下开发代码,并且它将在IronPython上未经修改地运行.
http://www.resolversystems.com/documentation/index.php/Ironclad
那么回答你的问题:
编写适用于CPython的IronPython应用程序应该很容易,但我可能会反过来说:CPython程序也适用于IronPython.这样,如果它不起作用,那么它更可能是已知的解决方案的已知错误.
IronPython等人存在的优点是它们提供了该语言的替代实现,有时可用于发现CPython中的错误.它们还提供了部署Python应用程序的替代方法,如果由于某种原因您发现自己处于某种情况(如silverlight),那么在您的应用程序中分发CPython实现是不合适的.