Hacker News new | ask | show | jobs
by f1shy 55 days ago
I don’t understand why self is placed in the list instead of smalltalk. Smalltalk came first, and Alan Key was the one who invented the “OOP” name.

Also ML is seen as a child of Lisp.

3 comments

They should be placed alongside each other, because Self OOP model is quite different from Smalltalk, including how the graphical programming experience feels like.

For those that never seen it, there are some old videos (taken from VHS) on the language site, https://selflanguage.org/

> I don’t understand why self is placed in the list instead of smalltalk.

The article explains that:

> Smalltalk inherited the notion of a value and its type from earlier languages, and implemented the idea of a class. All objects had a class that gave their type, and the class was used to construct objects of that type. Self disposed of the notion of class and worked solely with objects. As this is a purer form, I have chosen Self as the type specimen for this ur-language.

Yes, but I still don't understand that explanation. Clearly self is a descendant of Smalltalk, that purified a part; but still is a descendant. At least I understand the "ur-" as indicating linage, more about time as features. For me is still backwards.
Although it didn't call it that, Simula-67 was basically object-oriented and both preceded and inspired Smalltalk. But syntactically it looks much like other Algol-inspired langages so it doesn't look that interesting at first glance.