.net - .NET 将如何影响 Python 和 Ruby 应用程序?

标签 .net python ruby ironpython ironruby

我很好奇 .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 应用程序应该很容易,但我的目标可能是反过来:也可以在 IronPython 上运行的 CPython 程序。这样一来,如果它不起作用,那么它更有可能是一个具有已知解决方法的已知错误。

IronPython 等现有 的优势在于它们提供了该语言的替代实现,这有时对于发现 CPython 中的错误很有用。它们还提供了部署 Python 应用程序的替代方法,如果出于某种原因您发现自己处于不适合将 CPython 实现与您的应用程序一起分发的情况(例如 silverlight)。

关于.net - .NET 将如何影响 Python 和 Ruby 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466897/

相关文章:

asp.net - .NET 中的移动浏览器设备检测

c# - 在写入文件时复制文件线程安全吗?

python - 在同一模块的字段中加载类 - OpenErp

Ruby splat 用法

c# - 模拟 Networkstream.Read

c# - 为什么我们不能在 Entity Framework 查询中使用数组?

python - 为什么 python int() 会这样工作?

python - 无法使用 SMTP 处理程序记录 Flask 异常

ruby - 为什么有些方法可以与 inject 一起使用而有些则不行?

mysql - "We' 抱歉,出了点问题。”部署到 Heroku 后