Wednesday, February 08, 2006

C# vs C++

I have made my decision, and I am migrating to C# for Windows development. My friend Tim really likes the C# environment, and I value his opinion, so I am giving them both a fair shot. (I'm still editing code in emacs though, that will never change).

My main reservations about C# are that it is a relatively new and relatively untested language that is inextricably entwined with one particular platform. I have no problem learning new APIs, but a proprietary language is something completly different. I am concerned that I might end up investing a lot of time learning a language that is only applicable to one platform, and worse yet, may negatively impact my job opportunities. In the future it is possible that I will be unable to find employment because it has been too long since I used a real language. I will cross that bridge when I get to it.

I've had more than I can take of Microsoft's piss-poor implementation of C++, with its outdated embedded Hungarian notation, bizarrely and inconsistently named typedefs, broken STL implementation, byzantine collection of system classes, and an environment whose software development methodology favours platform tie-in at the expense of clean, reusable code.

The pain of learning C# happens once. The pain of dealing with HINSTANCE, LPVOID, LPSTR and their like is every day, and I simply don't want to do it anymore.


Post a Comment

<< Home