• mindlesscrollyparrot
    link
    fedilink
    arrow-up
    29
    arrow-down
    1
    ·
    1 month ago

    In this post I use the word “OOP” to mean programming in statically-typed language

    So Smalltalk is not object-oriented. Someone tell Alan Kay.

    • dvlsg@lemmy.world
      link
      fedilink
      English
      arrow-up
      12
      ·
      1 month ago

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

      • mindlesscrollyparrot
        link
        fedilink
        arrow-up
        4
        ·
        1 month 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
      ·
      1 month 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!