Sunday, February 04, 2007

Selling Out to C# For a While

I know all my programmer buddies may shun me for this, but I'm selling out to learn Microsoft's C# language for a while. I still hate Microsoft's strategy of developing only for Windows and being stuck with their products, but most project offers I'm getting these days require C# and related .Net technology knowledge.
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:
  1. 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).
  2. 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.
  3. 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.
Slowly over the next couple of month, I'll steal time from my busy day to learn this language. The motivation is purely monetary - I have no desire to become a Microsoft/Windows programmer.