
Originally Posted by
BlackStar
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.
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?