• wewbull@feddit.uk
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      Do you include “traits” and “interfaces” under the title “inheritance”?

    • Supercrunchy@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      3 days ago

      It might be nice to use in some very specific cases (e.g. addition-operation is a binary-operation AST node which is an AST node).

      In most of the cases it just creates noise though, and you can usually do something different anyway to implement the same feature. For example in rust, just use enums and list all the possible cases and it’s even nicer to use than inheritance.

      • tatterdemalion@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Some legacy Python code that already used inheritance. I had to extend it, and it was pretty infeasible to refactor the whole thing to not use inheritance. Not sure if I technically regretted that decision, but it was definitely painful, since Python inheritance makes it really hard to follow program control flow.

        • Valmond@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          1
          ·
          13 hours ago

          Non typed inheritance, what could go wrong eh. You can just ‘add’ a function to a class dynamically in python, that is so bad.

          Done any C++ classes & inheritance?

          • tatterdemalion@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            8 hours ago

            It was actually typed. Python had type annotations at the time.

            I only wrote C++ very early in my career so I don’t remember much, but I’m sure I at least tried some inheritance in toy games I would write. All of that code was trash though by my standards today.