Test driven development under C++ is a real pain compared to C#. I know that’s not news but I thought I should mention it. I really need to start coding more C# than C++ but in order to do that I have to prove that C# can match the performance of C++, or at least match our performance requirements. The next biggest problem is embedded XP and image size which isn’t something that C# really excels at since the framework isn’t exactly the smallest thing in the world and when you’re looking at 40 or 50mb installs of XP adding the extra on top can be a problem. Then again the cost of flash memory now is so low that adding a few hundred Mb extra isn’t exactly a problem.
The real question is how much of an advantage C# would be over C++. Performance wise I know that at best they will be matched and I’ll still need managed C++ for some of the interop and all of the device drivers. The real advantage is in the language, tools and runtime itself but I’m really not sure that’s enough.
So the question becomes am I looking to solve the real problem the wrong way?