Remix.run Logo
MaxBarraclough 2 hours ago

> That is, after all, what sets "object-oriented" apart from having objects alone.

I wouldn't say so, most object-oriented languages don't work like Objective-C/Smalltalk. Today, I think most programmers would agree that inheritance is the defining feature of object-orientation.

Apocryphon an hour ago | parent | next [-]

Then what does it mean if "composition over inheritance" is also taught as a good practice in OO?

MaxBarraclough 30 minutes ago | parent [-]

That's a rule-of-thumb to help beginners in making judgement calls. It doesn't mean inheritance should never be used.

Apocryphon 28 minutes ago | parent [-]

True, but if the defining feature of something is a feature you should use sparingly, doesn't that mean other features are more definitive?

9rx an hour ago | parent | prev [-]

Okay, that's what sets what was classically known as "object-oriented" apart.

Understandably, language evolves. If OO means something different today, what do most programmers call what used to be known as OO? I honestly have never heard anyone use anything else. But I am always up for refreshing my lexicon. What did most programmers settle on for this in order to free up OO for other uses?