在生产系统中开始使用Iron Ruby和Iron Python是否可以?另外,托管它们还有其他要求吗?
而且,对于奖励积分,假设F#是一种与Python相同的函数式编程语言,那么在.NET框架中使用一个优于另一个是否有任何优势?
答案 0 :(得分:10)
在生产系统中开始使用Iron Ruby和Iron Python是否可以?
是。我负责一个24/7/365运行的软件系统。不是生命或死亡的关键,但批评很多钱。它使用的是IronPython,虽然不是很多 - 但对于在动态语言中更容易做的事情来说,大多数都是少量的。这意味着:它有效,它不会使你的过程崩溃或者没有充分理由吃掉疯狂的内存。但是用户群和“语言社区”远小于例如C#,所以在网上找到帮助可能比较困难。
添加:关于“MS drop Iron *” - 新闻:我真的不太关心这一点。 Microsoft没有积极开发许多优秀的语言。只要有积极的发展,只要它做你想做的事情,只要你能找到支持,如果你无法理解发生了什么,你应该没事。但这可能更多的是品味而不是技术问题。
此外,托管它们还有其他要求吗?
对于IronPython 1.0(仍可使用),您只需要两个程序集。对于2.0,您还需要DLR程序集,但它们都不是很大或者没有任何外部依赖(我知道)。
而且,对于奖励积分,假设F#是一种与Python相同的函数式编程语言,那么在.NET框架中使用一个优于另一个是否有任何优势?
正如德尔南所说,F#是一种功能语言,而Python则不是。 Python是一种多范式语言,支持一些函数式编程概念,如lambda表达式或列表推导,但C#也是如此。 F#和Python真的是非常不同的野兽。
主要区别是:
如果您告诉我们更多您想做的事情,也许我们可以为您提供更具体的意见或建议其他选择。
答案 1 :(得分:3)
我们使用IronPython在Silverlight中构建 B2B 应用程序。我们从未遇到过有关性能或稳定性的问题。
我们已经构建了两个应用程序(前端每个大约20,000行python代码 - 后端是使用Django或Catalyst框架构建的),并且正在构建下一个更大的应用程序。
使用像IronPython这样的动态语言,可以改变f.e.类中的函数,并通过HTTPRequest重新加载它。无需重新编译,在浏览器中重新加载整个silverlight应用程序并导航到代码更改生效的位置。
最近,IronPython代码被放在了社区的手中,像Michael Foord这样的人在保持这个版本的Python up2date方面做得非常好。
答案 2 :(得分:1)
F#适用于科学和金融应用。它可用于JVM世界中使用Scala的地方。其他实现这些范例的语言是Caml,OCaml,Erlang。