I'm not sure I understand. I'm saying specifically that at the very least, this one feature of classical inheritance is
not easy to implement and in fact almost always leads to bugs when people try to do it. The truth is that most of the interesting features of classical inheritance are pretty hard to implement:
1. super, as described above
2. private, protected, etc. Never seen this work in js with inheritance
3. inheriting class methods as well as instance methods
If all you care about is the most superficial copying of a superclass' methods, then yeah of course its easy to do in JS, its essentially just prototypal inheritance again. Its arguably just as easy to implement this watered down form of classical inheritance in C as well (or in any language I guess):
struct MySubclass
{
struct MySuperclass base;
int newMember;
}
I don't think this is necessarily an argument for elegance however.
The point is, if these are features that everyone has to implement, then at some point you have to say "maybe its not that everyone else is stupid and doesn't get it, but that its an actually worthwhile feature". In fact, they predicted this (which is why class and super are reserved words in JS despite not doing anything), and its supposedly expected to come in the next iteration of JS (as in, the one after the one currently not even implemented yet). So, in 50 years when we get that we'll finally have remedied this issue.