• 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.