Last week Microsoft decided to open-source their F# programming language in the form of its compiler and their language's core libraries. Microsoft's F# was opened up under the Apache 2 license and following that release comes a MonoDevelop plug-in and an announcement from Miguel de Icaza that they will begin distributing F# in Mono...

Actually, it's a multi-paradigm language that supports functional, object-oriented and imperative (ugh) programming. It is very similar to Ocaml but has simpler/more readable syntax.

Quote:

What's good about it? Seriously, I'm curious. From the little blurb I read somewhere it sounds like some sort of declarative systems language(!). Is that correct?

Technically, it has several qualities that make it really powerful:
- static typing with extensive type inference.
- built-in support for asynchronous programming.
- built-in support for units-of-measure. If you define x(m) as position, t(sec) as time and v(m/sec) as velocity, the compiler will let you assign "x = v*t" but will raise an error if you try to do "x = t". This is all compile-time (no performance penalty).
- it can consume any Mono/.Net and Java(IKVM) library.
- it has first-class IDE and debugging support (MonoDevelop/Visual Studio).

Historically, functional languages have historically lived in their own, fragmented little worlds. This may be the first that actually stands a chance to become mainstream, which is quite exciting in itself. (I've actually seen job postings for F#, which I've never seen for Haskell, Lisp or *ML).

Finally, this is an open-source project implemented by Microsoft and shipped in Visual Studio. Note that Apache 2.0, section 3, grants an irrevocable patent license - could it be that the behemoth is slowly turning around?