I think there's some significant selection bias on HN, particularly against Windows and Microsoft. It seems a disproportionate amount of the people here are using Python/Ruby on OS X, so naturally you'll get more articles about moving to that sort of stack and away from .NET and the like than the opposite.
In reality, .NET is actually a very interesting platform. LINQ is actually really cool and C# is largely a better language than Java. If this isn't enough, you can always use F# which is a very nice functional, statically typed language based on OCaml. On top of this, MSR produces interesting research in programming languages, which can easily be subsumed by their product languages. There is actually a healthy exchange of ideas between Haskell and the .NET languages, for example, even going both ways. (Haskell recently got some features from LINQ, for example.)
I was particularly thinking about things like order and group in list comprehensions[1]. Turns out the paper introducing them was actually from 2007, so maybe it's not that recent :). (I thought it was newer than that.)
Here is a random video I found earlier where SPJ talks both about this in particular and the exchange of ideas between Haskell and .NET in general: http://www.youtube.com/watch?v=iSmkqocn0oQ
In reality, .NET is actually a very interesting platform. LINQ is actually really cool and C# is largely a better language than Java. If this isn't enough, you can always use F# which is a very nice functional, statically typed language based on OCaml. On top of this, MSR produces interesting research in programming languages, which can easily be subsumed by their product languages. There is actually a healthy exchange of ideas between Haskell and the .NET languages, for example, even going both ways. (Haskell recently got some features from LINQ, for example.)