C# itself is not bad - in fact, it takes the best ideas of the C/C++ standard and the Java programming model and combines them in a robust environment. What sucks is that you develop programs that'll run on Windows only (special consideration for Mac and Linux platforms) with their .Net framework. I hate being stuck in a box like that. But for the money I'm foregoing rejecting .Net-oriented programming, I'm caving in.
If at all, I'll take the best ideas from .Net and apply them to my Java programming experience. It's all a learning experience, and I come out more versatile than ever. The hate remains though ...
This is probably the best time to pick up this skill because:
- Microsoft finally offers free developer tools, such as Visual Studio C# 2005 Express. Small downloads and high integration with Windows (.Net Framework 2.0 must be installed).
- Enough available documentation: being a new language, I'm surprised at how many free tutorials are available, including code samples and sometimes complete solutions. Sweet ... I learn by example.
- I have a huge cache of ebooks, and some happen to be C#-oriented. Essentially, I can learn this technology for free. I recommend Sam's Teach Yourself Microsoft Visual C# 2005 in 24 Hours for beginners.