I was just discussing F# with my coworkers today. I feel like it doesn't get much attention because neither the OO or the FP camps want to own it. It's too different for OO people, and FP people won't find it pure enough. Is that correct, or are my observations and inferences way off?
The lack of attention is that Microsoft doesn't want to put too much cash into it, and hasn't figured out the marketing message. Microsoft has sold the message that F#'s for strange high-IQ people in finance or science and so on. A lot of ".NET developers" are just confused. I mean, ffs, look at C#'s "var" keyword. Even some highly respected people that worked at Microsoft didn't understand it and called it "dynamic typing". If high-up "engineers" can't understand these basics, then what chance do the majority of MS's customer base? Doesn't look good.
Plus the hiring mentality is "oh no, we won't find an F# developer". The problem is that they're looking for "language" developers in the first place. Who the hell cares if a hire knows F#? If they don't but worth hiring, they'll easily learn it. This is true for most languages, but extra true for F# as you still have the CLR, the whole .NET Framework, Visual Studio, etc.
The biggest thing holding F# back apart from that, and apart from people that are well, scared of it, to put it kindly, has been .NET itself. Mono's been flaky for F# development I hear, and people have been suspicious of .NET overall, I feel. Though I do have long-running server apps at high volume working fine with F# on Mono on Linux, ASP.NET and other experiences are suboptimal.
With Microsoft's new stance on open source and shipping .NET everywhere, hopefully a lot more people will give it a spin. F#'s probably in the top spot for the combination of tooling, libraries, and language - so long as you don't mind GC.
As far as the language itself, it does a pretty good job at doing multi-paradigm. In fact, it does OO better than C# in some cases (object expressions).