Before doing Ruby full time I spent most of my days coding in C#. In those days C# wasn't quite as good as Java, but I did prefer the .net library. Visual Studio crashed, but not very often, and ReSharper made coding much less painful. I was developing on a Windows box, but I had never known any other development environment, so I didn't mind. I was happy.
Then the Ruby hype began. I've never really been a big fan of hype, but I do like trying out new technologies if anyone credible has given it two thumbs up. Ruby had more than enough advocates, so I decided to try it out for a project or two. When I started my second project my Dell windows laptop died, and I took the opportunity to switch to the Mac -- one of the best moves of my development life.
Almost 28 months later, I find myself interested in C# again. The features of C# 3.5 appear interesting, and I've always liked the idea of being skilled in multiple languages. You know, the right tool for the job and all that. There are plenty of situations where C# is the right tool. There's a large install base and a big community also. Being part of that community, using the new version, innovating, that sounds like fun. But, there's one thing that really kills C#, Windows.
Windows really prevents me from diving in head first. I haven't run Windows since I bought my first Mac. The features of C# 3.5 are so appealing that I've been contemplating the idea for awhile now, but the idea of a Windows development environment has held me back from making the switch.
Okay, that's a lie, not having a client doing C# 3.5 is the real reason I haven't crossed over.
But, wouldn't it be nice if you could work with C# on a mac? I'm not talking parallels, I'm talking about full on development in Leopard. Truthfully, switching to Windows wont stop me from giving C# 3.5 a try, but I wonder how many other people are hesitant for the same reason. No matter how beautiful C# becomes, Windows will always be it's Achilles' heel.