> (babbling removed)
> The language itself should abstract the proper way to work with objects.
> (babbling removed)
Just so we're clear: Your objection is that C++ is less object-oriented because you have to type the asterisk *
as part of the type name.
There are a number of benefits in making the copy-constructor the default: RAII is impossible without it, and garbage collection can be done on a per-class basis (think about how you would implement automatic reference counting without the copy constructor).