To expedite my progress, I had to switch to C#. The solution contains several C# projects and one C++ project a wrapper around native C++ SQLite code. Most code is now written in managed code. Doing that in C++ was just too painful. String manipulation, even in C++ 11, was not user friendly at all. I also found that most .NET libraries that deal with Web connectivity are same as before, while C++ does not have their clean WinRT equivalents. I was finding myself stepping down to navite C++ code base too often and did not feel comfort in that land. I really think it has to do with expected time-to-market.
I don’t want to go on a rant here, but C++ takes too long to code in. Do I use a ., a :: or a -> between my object and its method? Should I define this function inline in the .h file or should I implemented in the .cpp? After getting way too comfortable with developing managed C# code, C++ makes me feel completely unproductive. I spend way to much time thinking about properly coding, and that leaves too little time to think about how my app should work. Now, perhaps that’s because my C++ is weak. I don’t write in C++ too much, but should I?
Considering I am not writing a serious graphics app, nor a low-level device driver, nor a high-frequency trading app, why would I do it? It’s not fun at all!