"铁"语言是否准备好迎接黄金时段?

Pur*_*ion 11 .net ironpython functional-programming dynamic-language-runtime

可以在生产系统中开始使用Iron Ruby和Iron Python吗?另外,托管它们还有其他要求吗?

而且,对于奖励积分,假设F#是一种与Python相同的函数式编程语言,那么在.NET框架中使用一个优于另一个是否有任何优势?

Nik*_*iki 10

可以在生产系统中开始使用Iron Ruby和Iron Python吗?

是.我负责一个24/7/365运行的软件系统.不是生命或死亡的关键,但批评很多钱.它使用的是IronPython,虽然不是很多 - 但对于在动态语言中更容易做的事情来说,大多数都是少量的.这意味着:它有效,它不会使你的过程崩溃或者没有充分理由吃掉疯狂的内存.但是用户群和"语言社区"远远小于C#,因此在线寻找帮助可能更难.

添加:关于"MS掉铁*" - 新闻:我真的不在乎这个.Microsoft没有积极开发许多优秀的语言.只要有积极的发展,只要它做你想做的事情,只要你能找到支持,如果你无法理解发生了什么,你应该没事.但这可能更多的是品味而不是技术问题.

另外,托管它们还有其他要求吗?

对于IronPython 1.0(仍然可用),您只需要两个程序集.对于2.0,您还需要DLR程序集,但它们都不是很大或者没有任何外部依赖(我知道).

而且,对于奖励积分,假设F#是一种与Python相同的函数式编程语言,那么在.NET框架中使用一个优于另一个是否有任何优势?

正如Delnan所说,F#是一种功能语言,而Python则不是.Python是一种多范式语言,支持一些函数式编程概念,如lambda表达式或列表推导,但C#也是如此.F#和Python真的是非常不同的野兽.

主要区别是:

  • F#由F#编译器编译为IL(它不是动态语言),可以在运行时编译或解释IronPython
  • F#是静态类型的类型推断,Python是动态类型的(类型检查在运行时完成)
  • F#是一种函数式语言:它支持模式匹配,高阶函数和-types,元编程等功能.如果你需要实现一个可以在函数式语言中更容易实现的高度复杂的算法,并且想要与C#代码接口,那真的很棒.(最后一部分是我个人观点.)
  • Python主要是一种OOP /命令式语言.将脚本添加到现有的C#应用​​程序非常棒.(最后一部分是我个人观点.)

如果您告诉我们更多关于您想做什么的事情,也许我们可以为您提供更具体的意见或建议其他替代方案.