5 ms·
People aren't willing to pay for compilers any more, hence you get gcc, which isn't built for the convenience of the user, but for standards compliance and perf
by kristianp 7y ago
People aren't willing to pay for compilers any more, hence you get gcc, which isn't built for the convenience of the user, but for standards compliance and performance of its output.
- pjmlp 7y agoHence why those of us that are willing to pay get Visual Studio, Qt Creator, C++ Builder,... instead of gcc.
- badsectoracula 7y agoThe compilers in these aren't really any better compared to GCC though.
- pjmlp 7y agoThey surely are, because the overall development experience is much more than the produced executable.
- badsectoracula 7y agoI refer to that overall development experience too, they aren't any easier to use (Qt Creator and C++ Builder use Clang which is basically as easy as GCC) nor any faster and AFAIK VC++ compiler messages aren't even as good as those in GCC and Clang. Note that i refer to the compilers specifically, but even the IDEs you mentioned aren't that great. Visual C++ has went mostly downhill since VC6, becoming slower and even removing features (e.g. last time i tried it i couldn't use a bitmap font) or obfuscating them (installing a library "system-wide" is trivial in older versions of VS, but after 2008 or 2010 i think that feature was removed). C++ Builder's UI/IDE also went downhill after they got rid of the Delphi 7 interface and tried to become Eclipse and it also has became too unstable and slow. It does have a few niceties (i like that when you save your project it automatically updates the header file includes at the top), but nothing that makes it worth the negatives (though TBH i haven't spent much time with it because i refuse to rely on anything with DRM so i might be missing some gem covered under that bloat). Qt Creator is neat, but i could never get used to its interface (also it is free, so i'm not sure why you included it in a list of paid products). Also IMO all the above do not hold a candle to the older Borland C++ Builder when it came to development experience. I do not think there is any C++ development environment that comes close nor i think it is possible to make one by stitching together a frankenstein of a product out of otherwise independent bits and pieces that are oblivious about each other (in other words anyone who thinks that something "based on" Clang or GCC or whatever, stitched together with LLDB, GDB or whatever and some GUI framework thrown in - usually Qt - would fit the bill is totally missing the point).
- pjmlp 7y agoI guess we have to disagree then. I included QtCreator, because for the full experience you need the commercial Qt offerings as well. Windows now has a C++ package manager (vcpkg), so you can install libraries as you want. Actually Clang provides the necessary IDE hooks that GCC doesn't. I also consider the UI designers (UWP C++/CX is not that bad), graphical debuggers, pre-compiled headers database, incremental compiler, incremental linker, PGO integration, and being able to drive them without memorizing a ton of switches, part of the whole experience.
- pjc50 7y agoVisual Studio is C++ orientated and the C support is somewhat behind. https://github.com/MicrosoftDocs/cpp-docs/issues/407 https://github.com/MicrosoftDocs/cpp-docs/issues/407 (admittedly, 2018) Realistically the paying subset of users of a language is always going to be a small number of people.
- pjmlp 7y agoIt is called Visual C++ after all. I am more than happy if on Windows, C gets reduced to the subset required by ISO C++. Time to move on, C was already outdated in the mid-90, versus C++ARM, Modula-2 and Object Pascal. Microsoft Security center is quite clear on the damage it has brought to the industry.
- msla 7y ago> Time to move on, C was already outdated in the mid-90, Objectively false, given the consistent popularity of C. Plus, of course, the bad things about C are also bad about C++, in that C++ is more similar to C than different from it.
- pjmlp 7y agoWeb browsers made JavaScript unavoidable, UNIX clones did the same for C. C's copy paste compatibility in C++ is the Trojan horse that ended up being its security Achilles heel. However even with that, the C++ community and ISO C++ actually care to improve the language security story. The same cannot be told for ISO C. Actually even Microsoft does more for it with its Checked C research and SAL security annotations.
- jki275 7y agoI think that used to apply. It's not so much a thing since C++11.
- tonyedgecombe 7y agoI have mixed feelings on this, it did feel like there was a broader choice of compilers back then but on the other side not being able to afford them in my youth was frustrating.
- dhosek 7y agoI was just thinking about how I spent hundreds of dollars for Zortech C++ and Borland C++ back in the 90s and was shocked when IBM included a C/C++ compiler for FREE with OS/2 and it even included a visual UI builder tool.