Once I've tasted C++'s multiple inheritance, pointers, references, stack access and more, it was obvious that I never want to program in C# anymore, but something keeps bugging me:
All the great programming tools doesn't exist / behave correctly / is free to C++ programmers:
Refactoring, Auto-Complete / IntelliSense, UML Modeling (I've been watching C# guys "drawing" UML etc. and export it to code instantly.. it's RIDICULOUS! to add insult to injury they keep refactor the code from the UML!).
Furthermore, my only way to create a worthy program that includes a UI without paying A LOT of money is having an annoying Qt about-box.
(Not to mention that C++ don't have anything like .NET with so much tools and classes!)
So, to deal with the UI problem I thought maybe I'd code the logic in C++, and import the DLL to a C# application.
That's when I realized how slow and unpleasant InteropServices really is.
A friend of mine tried to import a C++-exported DLL with a function Add(int x, int y), and that "return x + y;" took nearly 5 seconds!
So I'm just torn apart:
One hand: C# doesn't have the power C++ has, and I also consider it RAM consuming.
Other hand: C++ doesn't have the (free) tools and libraries C# has, also the development of the language is really slow. "C++0x turned to C++0b" (A joke about that we're waiting so much time for C++11).
(I tried to check out C++/CLI until I found out Microsoft doesn't give a damn about it. not only they don't provide it anymore in Visual Studio 2012, in Visual Studio 2010 there was no IntelliSense)
What do you think I should do in order to code in an elegant free environment, with all the tools I'll need (like C#) and also able to access low-level operations (such as the one described at the top)?
This post has been edited by pokiaka: 06 September 2012 - 01:44 PM