Also OOP is overrated. Some of the concepts are useful but the way traditional languages implement objects is inflexible (can't implement an interface/abstract class for non-class types) and the idea of inheritance has problems around leaking internal details and comprehension.

Composition is much better than inheritance. The only problem with composition is if you want to delegate many things it gets annoying. This is not very frequent problem though and can be worked around using macros.

Reply to this note

Please Login to reply.

Discussion

So far the only thing I’ve used objects for was a Roman numeral converter. I stored a bunch of objects in an array, with each object having two keys, the Arabic numeral, and its Roman counterpart. Then I built a recursive function and iterated through the array to convert a number to a Roman numeral.

I mean I’ve used objects in the courses but that was the first time I’ve used them in a project. The courses haven’t even gotten to OOP, so idk if that’s actually OOP

I suppose there was no inheritance, in which case you could say it's "a sane version of OOP".