|
|
1
5
关于IronRuby,我不能说什么,但是大多数python实现(比如IronPython、Jython和PyPy)都会尽可能地忠实于CPython实现。不过,IronPython正在迅速成为这方面的佼佼者之一,Python星球上有很多关于它的流量。 鼓励开发人员编写不同于他们在CPython中编写的代码的主要原因是缺少诸如NumPy之类的C扩展模块(这在Jython和pypypy中也是一个问题)。 需要关注的一个有趣的项目是Ironcold,它将允许您从IronPython中调用C扩展模块。这最终意味着您可以在CPython下开发代码,使用您喜欢的任何模块,并且它将在IronPython上不经修改地运行。 http://www.resolversystems.com/documentation/index.php/Ironclad 因此,要回答您的问题: 编写同样在IronPython上工作的IronPython应用程序应该很容易,但我的目标可能是反过来:也在IronPython上工作的CPython程序。这样,如果它不起作用,那么它更有可能是一个已知的bug,并且有一个已知的解决方法。 现有的 |
|
|
2
2
IronRuby目前附带了大部分核心ruby标准库,并支持ruby gems。
人们是否选择使用CLR为他们的应用程序创建或使用扩展与人们是否为MRI创建或使用C扩展是同一个问题——一个扩展并不比另一个更具可移植性。 这是一个次要的问题 “因为在C中创建IronRuby扩展比在C中创建CRuby扩展容易得多,人们会在应该坚持原生ruby代码的地方创建扩展吗?” 但总的来说,我认为任何使创建扩展更容易的事情都是一个巨大的胜利。
|
|
|
3
1
IronPython/IronRuby是为在.net虚拟机上工作而构建的,因此正如您所说,它们本质上是特定于平台的。 显然,只要您的程序中不使用任何.net框架,它们就与Python和Ruby兼容。 |
|
|
4
1
如果您创建了一个库或框架,人们可以在.NET上使用它和他们的.NET代码。这对他们和你来说都很酷! 在开发应用程序时,如果您随意使用.NET的工具,那么您将失去“跨平台性”,这并不总是一个问题。 如果使用内部API包装这些使用,那么以后可以使用纯Python、包装的C(用于CPython)或Java(用于Jython)替换.NET实现。 |
|
|
5
1
根据Mono页面,IronPython与Mono的.Net运行时实现兼容,因此可执行文件应该可以在Windows和Linux上工作。 |
|
|
6
0
这样做的好处是,如果你是一个.Net商店,你通常会注意在客户端机器上安装正确的框架等。。。如果您想要python或ruby代码,您现在需要支持另一个“框架”,需要分发安装、解决版本问题等。。。因此有两个优点,在另一种语言中使用.Net framework power+使分发/维护尽可能简单。 |
|
|
7
0
|