I'm often accused at work of being somewhat of a Microsoft hater. It's often fun, and easier, just to go along with it. The only difficulty with that is... it's simply not true.
A few years ago I was working at Egg and was one of the key proponents of introducing ASP.Net and C#. At the time the existing infrastructure for the main customer site was also one I'd been involved in choosing - Netscape Application Server (NAS), a Java based app server and Vignette StoryServer, a TCL/TK based content management server. After just 3 years of service both were looking under-loved by their respective vendors.
Microsoft had been knocking on Egg's door for a long time, and with ASP.Net they presented a very interesting offering. Not only that, but by taking steps to work with ASP.Net we opened doors into Microsoft to get early demos of Longhorn - this is before the re-write, at a time when it was exciting and had far more innovation than was left by the time it shipped.
I even ended up (incorrectly quoted) in a case-study for Visual Studio and .Net. Microsoft even sent a small film crew and interviewer to make a short video on Egg's use of Visual Studio with us. Of course, the meat of the discussion was edited out, so it looks like all I said was "Visual Studio is Fantastic".
So why am I writing this now? Well, the rather brilliant Elliott has decided to learn C#, but seems a little defensive about the decision. I just wanted to encourage him to go for it. C# is a very nicely designed language and the .Net framework is a comprehensive, elegant collection of things that makes doing almost anything easier.
At Talis we built some stuff using ASP.Net too, and it was good.
We're not using it now mostly because of cost. We can run much more cheaply for the kind of applications we're building using open-source products. The application we're currently piloting is written in PHP5, running in Apache on CentOS. Free, in every sense of that word. The only thing we pay for is an account on the Talis Platform, which handles all of our data storage needs. This keeps costs down and means we can sell the product for less (it's SaaS).
Is PHP as nice to write as C#? I don't think so, but then C# is not as nice to write as Ruby. Is PHP as fast as ASP.Net? I don't think so, although the way we write our apps usually has a bigger impact than the language. Is PHP the right tool for this job? Definitely.
Is C# still worth learning? Definitely.