• dvlsg@lemmy.world
      link
      fedilink
      English
      arrow-up
      12
      ·
      20 days ago

      OOP definitely doesn’t get to claim static types for only itself either. Fuck that.

      • mindlesscrollyparrot@discuss.tchncs.de
        link
        fedilink
        arrow-up
        4
        ·
        20 days ago

        They don’t only say static types. They add classes, inheritance, subtyping, and virtual calls. Mind you, the difference between the last 3 is quite subtle.

        So, since I’ve started nit-picking, Self is also OO and has prototype-based inheritance (as does javascript, but I’m not sure I’d want to defend the claim that javascript is an OO language).

    • aubeynarf@lemmynsfw.com
      link
      fedilink
      arrow-up
      9
      ·
      20 days ago

      Yeah let’s not forget the Common Lisp Object System (CLOS) which was more full-featured of an object-oriented language than most “current” languages.

      The dynamism allowed both Smalltalk and CLOS to avoid a dark corner that will confound your typical OOP’er today - the circle/ellipse modeling problem; they allow an object to “become” a different type on its own accord. Take that, Java!