When did people favor composition over inheritance?

(sicpers.info)

13 points | by signa11 2 days ago ago

3 comments

  • rurban 2 days ago

    I have a different view of them. For me, having implemented both in my object systems, composition is compile-time, early-bound, whilst inheritance is just another runtime indirection, late-bound.

    Composition needs more memory per class and object, but is faster at runtime.

  • brad0 2 days ago

    The summary of the post says that lambdas/procedures/etc. are another type outside of composition and inheritance. I’ve always thought of lambdas as composition though. You’re assigning a function just as you would any other data, right?

  • Panzerschrek 2 days ago

    Using inheritance becomes painful in languages like C++ as soon as diamond-like hierarchies are involved.