Is it okay to start using Iron Ruby and Iron Python in production systems? Also, are there any additional requirements for hosting them?
And, for the bonus points, given that F# is a functional programming language in the same way that Python is, is there any advantage to using one over the other within the .NET framework?
Is it okay to start using Iron Ruby and Iron Python in production systems?
Yes. I am responsible for a software system that runs 24/7/365. Not Life-Or-Death critical, but lots-of-money critical. And it uses IronPython, although not much of - mostly little scriplets for things that are easier to do in a dynamic language. That means: It works, it doesn't crash your process or eat insane amounts of memory for no good reason. But the user base and the "language community" are far smaller than e.g. C#, so it might be harder to find help online.
Add: About the "MS dropped Iron*"-news: I really wouldn't care to much about that. There are many good languages that aren't actively developed by Microsoft. As long as there is active development, as long as it does what you want it to do and as long as you can find support if you can't understand what's going on, you should be fine. But that's probably more a matter of taste than a technical point.
Also, are there any additional requirements for hosting them?
For IronPython 1.0 (which is still usable) you only need two assemblies. For 2.0, you also need the DLR assemblies, but neither of them are very big or have any external dependencies (that I'm aware of).
And, for the bonus points, given that F# is a functional programming language in the same way that Python is, is there any advantage to using one over the other within the .NET framework?
As delnan said, F# is a functional language, Python is not. Python is a multiparadigm language that supports some functional programming concepts like lambda expressions or list comprehensions, but so does C#. F# and Python are really very different beasts.
The main differences are:
If you tell us more about what you want to do, maybe we can give you more specific input or suggest other alternatives.
We use IronPython to build B2B applications in Silverlight. We had never run into problems concerning performance or stability.
So fare we had build two applications (each ca. 20.000 lines of python code in the frontend - backends are build with the Django or Catalyst framework) and are building the next even bigger application.
With a dynamic language like IronPython it's possible to change f.e. a function in a class and reload it over an HTTPRequest. No need to recompile, reload the whole silverlight application in the browser and navigate to the point where the code changes take effect.
Recently the IronPython code was put in the hand of the community and people like Michael Foord are doing a very good job in keeping this version of Python up2date.
F# is good for scientific and financial applications. It can be used where Scala is used in JVM world. Other languages that implement these paradigms are Caml, OCaml, Erlang.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With