• @[email protected]
    link
    fedilink
    1510 hours 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.

      • @[email protected]
        link
        fedilink
        14 hours 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
      link
      46 hours 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!