> C#, .NET and the accompanying tools seem pretty nice to me and have been supported about as long as Mac OS X.
On the back end server, that's mostly true.
Microsoft has been playing the "here's a new API, we'll stop improving the old one, and make relying on it foolish" treadmill for more than 15 years: MFC, ATL, ODBC, ADO, DAO, Liquid, SilverLight, WPF, WinForms, VB6 -> VB.Net, DNA -> ASP, ...
The world, up until a few years ago, was very happy to be on that treadmill. I was always baffled by it, but I can understand the fashion and buzzword driven resume IT world.
Except, something changed in the last 3 years: People are no longer as happy with the Microsoft treadmill, and the cool kids started liking the stuff that does not strictly depend on a corporate sponsor for advances and obsoleting: Ruby [on Rails], Node.js, Clojure, and more.
I'm working on a project that's heavily invested in WPF, a decision that seemed reasonable to the decision makers back in 2010, and it's a horrible mess. There are resource leaks that have been reported as "won't fix until next version" 3 years ago, but it was only a year ago that it became clear there never will be a next version. (I have to manually call garbage collection once every second or so, or the GUI freezes with no error or explanation. Figuring that out was a few wasted days of debugging).
And WPF obsoleted WinForms; And silverlight was supposed to be a subset of WPF, except they have a weird common subset that is useful for nothing, and a lot of stuff I need was added to SilverLight, but not WPF, with the intention of adding it to the next WPF that never came.
Oh, and SilverLight was abandoned too.