Comment by 0xpgm
5 hours ago
Also, even though it called itself purely object-oriented, the earlier versions lacked inheritance.
Nowadays object oriented programming is almost entirely associated with inheritance hierarchies.
Perhaps inheritance isn't as central to object oriented programming as initially envisioned.
It isn't, the haters are the ones that don't get that there are many OOP flavours, mostly they only learnt one way and naturally everything is like that.
The original VB and Self are two other well known examples where there is no inheritance support.
Also most Lisp systems inspired in The Art of Metaobject Protocol tend to focus on multi-methods, instead of inheritance, to change current behaviours attached to structs.
When using so called OOP languages I specifically avoid inheritance, and in fact I think it's the worst aspect of it. In any case, I tend not to include inheritance into the definition of object orientation.
I suppose this goes back to the disambiguation of the term since Alan Kay coined it.
https://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented