Which is the best C++ variant?
It turns out that this month the Microsoft C++ compiler will turn 20 and it is probably my second favorite C++ compiler after G++. Microsoft are aiming to ship C++ 11 Beta that will, for the first time, include ARM support, Windows 8 support and better parralel computing support. At the end of the day it is still good old C++ it just happens to support a lot of extra features, but yet I still prefer G++ because most of my C++ work is on Linux and G++ produces much smaller executables on Linux compared to Windows.
Obviously some compilers automatically optimize code to a certain extent so that it is as efficient in both speed and memory usage as possible and this is generally the deciding factor in how big the produced executable is. Despite this, I reckon that how good a C++ variant is depends on how good its libraries are.
Microsoft C++ with the Microsoft Foundation Classes basically lets you do pretty much anything you could possibly want on Windows however the open source community has had to build up something similar for Linux. The GTK framework is basically fantastic and I personally prefer it to the Windows stuff because you don’t have to write as much code to build complex UIs.
The cool thing about C/C++ compilers and variants is that they are pretty much all standards compliant and have the same basic libraries. Because the languages were designed to work across multiple platforms tools such as SQLite just work without having to do complex configuration of the compiler. Ultimately at the end of the day there is no ‘best’ C++ variant because they are all pretty good, I just have a personal preference towards G++ and GTK.


