¿Está bien comenzar a utilizar Iron Ruby y Iron Python en los sistemas de producción?
Sí. Soy responsable de un sistema de software que funciona 24/7/365. No es vital la vida o la muerte, pero es fundamental la cantidad de dinero. Y usa IronPython, aunque no mucho, en su mayoría pequeños scriplets para cosas que son más fáciles de hacer en un lenguaje dinámico. Eso significa: Funciona, no interrumpe el proceso ni consume cantidades de memoria insanas sin una buena razón. Pero la base de usuarios y la "comunidad de idiomas" son mucho más pequeñas que, por ejemplo, C#, por lo que podría ser más difícil encontrar ayuda en línea.
Agregue: Sobre la "MS se cayó Iron *" - noticias: realmente no me importaría mucho sobre eso. Hay muchos buenos lenguajes que Microsoft no desarrolla activamente. Mientras exista un desarrollo activo, siempre que haga lo que usted quiere que haga y siempre que pueda encontrar apoyo si no puede entender lo que está sucediendo, debería estar bien. Pero eso es probablemente más una cuestión de gusto que un punto técnico.
Además, ¿hay requisitos adicionales para alojarlos?
Para IronPython 1.0 (que todavía se puede usar) solo necesita dos conjuntos. Para 2.0, también necesita los ensamblados DLR, pero ninguno de ellos es muy grande ni tiene dependencias externas (que yo sepa).
Y, para los puntos de bonificación, dado que F # es un lenguaje de programación funcional de la misma manera que Python, ¿hay alguna ventaja de usar uno sobre el otro dentro de .NET Framework?
Como dijo delnan, F # es un lenguaje funcional, Python no lo es. Python es un lenguaje multiparadigma que admite algunos conceptos de programación funcional como expresiones lambda o comprensiones de listas, pero también lo hace C#. F # y Python son realmente bestias muy diferentes.
Las principales diferencias son:
- F # se compila a IL por el F # compilador (que no es un lenguaje dinámico), IronPython puede ser compilado o interpretado en tiempo de ejecución
- F # es estático de tipos con inferencia de tipos , Python se tipea dinámicamente (la comprobación de tipos se realiza en tiempo de ejecución)
- F # es un lenguaje funcional: admite cosas como la coincidencia de patrones, funciones de alto orden y -types, metaprogramación. Es realmente genial si necesita implementar un algoritmo altamente complejo que pueda implementarse más fácilmente en un lenguaje funcional, y desea interconectarse con el código C#. (La última parte es mi opinión personal.)
- Python es principalmente un lenguaje OOP/imperativo.Es realmente genial para agregar scripts a una aplicación C# existente. (La última parte es mi opinión personal.)
Si nos dices más acerca de lo que quieres hacer, tal vez podamos darte más información o sugerir otras alternativas.
Puede que le parezca interesante antes de comenzar: http://bit.ly/dl7YC9 – Lloyd
Sí, como señala Lloyd, ese es un momento bastante increíblemente malo en su pregunta, allí ... – Frosty840
Python no es un lenguaje funcional . – delnan