this post was submitted on 10 Oct 2024
51 points (85.9% liked)

Programming

17350 readers
316 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 29 points 4 weeks ago (3 children)

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] 12 points 4 weeks ago (1 children)

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

[–] [email protected] 4 points 4 weeks 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).

[–] [email protected] 9 points 4 weeks 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!

[–] [email protected] 2 points 3 weeks ago

You down with OOP? 🤪