Currently learning C++ because a couple of frameworks I need for a project are written in it.
I got a couple of books ('Tour of C++' and 'Effective Modern C++') to start getting up to speed.
Was wondering, for those of you that dislike the language, what are you reasons for disliking it? What are the greatest weaknesses? What are your experiences.
Not knowing the libraries off the top of my head, having to look up what does what and get mad when something very specific from another language library isn't in the C++ standard.
Elijah Jenkins
Generally, C++ is really just an extended version of C, and nothing prevents you from just using like an improved C with a few C++ features here and there.
IMO the main issue with C++ is the complexity of it. In C you could make a struct for some data that is grouped together. What about C++? Struct? std::pair? std::tuple or a class? Something else maybe?
Asher Clark
It's hard, complicated, lacks modern features
Camden Hall
So lots of options for achieving the same goal. I guess that would require learning the tradeoffs of each option, which is a lot of extra studying. Fair enough.
>It's hard, complicated, lacks modern features What do you find hard and complicated about it?
Could you give some examples of modern features that you wish C++ had?
Ethan Butler
just libraries, automatic garbage collection, etc, things that would kinda defeat the point of the language really i mean, it's not bad, it has it's place but it's not good to learn it or practice it because it's rare to actually need it anywhere.
Parker Brooks
>automatic garbage collection
With smart pointers and move semantics there really isn't a need for GC
Gavin Robinson
>automatic garbage collection You can link against a garbage collector and either redefine the new operator or make your own malloc-like function. hboehm.info/gc/ Also as another user said if it's not ultra performance critical the reference counting smart pointers in the standard library should be sufficient.
Nathaniel Wilson
Header files and their consequences. The fact that they started as a superset of C instead just making it syntactically superficially similar which worked for other languages as well. Several features being half-assed. Tons of metaprogramming features with more to come like metaclasses that combined together STILL ARE NOT AS POWERFUL as a proper macro system and also lead to way worse error messages. The standard library being shitty here and there.
Jason Bennett
I can think of plenty of companies that use C++: microsoft, cisco, mathworks, valve, mozilla, etc...