I'll try to keep it in mind if I'm ever to make a book or something like this about this subject.
I'll try to keep it in mind if I'm ever to make a book or something like this about this subject.
Steelmanning for example would be taking successful, performant OOP projects and tackling the way they use it. V8, LLVM or UE4 for example off the top of my head.
Steelmanning is realizing that you can write data oriented code in OOP projects.
Steelmanning is realizing that you can write an ECS-style database with OOP. It's further realizing that the ECS pattern as described is not inherently data-oriented and requires extension to actually meet that criteria (e.g. archetypes).
And to be clear I'm not accusing you of ignoring these things but the discussion around this topic in general.
Basically as a game programmer of over 16 years of professional experience I feel a lot of this stuff is dubiously presented. And I don't even like OOP particularly!!
It's going to be arguing about names and definition, but I can't accept that it's OOP, when that put qualifiers on all "4 tenets of OOP", etc. Something like:
- Abstraction(*)
- Encapsulation(*)
- Inheritance(*)
- Polymorphism(*)
(*) where useful, when necessary, but ... generally avoid.If someone could tell me which book is "The BEST OOP out there, then I would be happy to read it and then argue with it" :D