>>3027711Its terribly designed. Trying to start a project with C++ is a nightmare, because no one can ever agree on what 10% of the language is safe to use.
The idea was nice, OO extensions to C, and in theory C++ is fantastic, but in practice its a complete farce. The language adds all these features and doesn't implement them properly, biggest example would be operator overloading and exceptions; oh and inheritance doesn't work properly, and encapsulation is nonexistent, and all the duplicate functionality (references, templates, etc) makes code confusing and overcomplicated; sometimes completely unintelligible, and even broken when dealing with different libraries using things like overloading differently.
Also C++ compilation is a complete joke in terms of efficiency. C++ compiles an order of magnitude slower than C, for many reasons. A couple of big ones would be: The single translation unit method of compilation (carried over from C) and the way templates/class definitions work (they have to be in headers) means that the compiler is constantly parsing the same code over and over again (even the standard library is bloated). Also, the standard demands C++ compilation must work with a C linker, which means things like templates are constantly parsed over and over by the the linker as well and the many multiple (identical) sections of code have to be thrown out or deal with runtime cache misses and huge executables.
Besides, having to wait 30 minutes to test one of the plethora of low and high level bugs C++ lends itself to makes me want to rip my dick off and find a new career