>>62929884
>C++ is C with some useful features and a lot of bad features
modern C++ has many useful features, and few that i would call straight-up "bad". and feature use is optional anyway. you're supposed to pick and choose based on your needs and priorities, and you only pay for what you use. what exactly are you referring to (besides inheritance, which i'll address)?
>For example, inheritance is almost never used in good code, but it's a cornerstone of the language
it's an entirely optional feature with multiple zero-cost uses. i agree (like many, many C++ users) that using it for virtualization of overabstracted class hierarchies is a generally bad and frequently abused idea, and multiple inheritance is just asking for trouble (except the very last case following), but what about static polymorphism, metaprogramming uses, or inheriting constructors? deriving different sets of interface functions from a base of data members to expose different interfaces conditionally based on template parameters? or, perhaps my favorite, a lambda overload set type using variadic multiple inheritance and inheriting constructors?
>Good C++ is very, very similar to C, but it's easy to write bad code
eh... sort of. this has become much less the case with the new standards. i mean, technically it's never that hard to write bad code, but it's gotten much easier to write good code, and good code is cleaner and more readable/concise than ever. i'm a costful-abstraction-avoiding, enterprise-OOP-hating, dissasembly-comparing type of sperg, but make no mistake, i can think of features from every C++ standard i would end up missing very much if i were to do a library in C (which i would do if ABI portability/language bindability were a priority). i'd live, but... it's not an exciting thought