💾 Archived View for dioskouroi.xyz › thread › 25012425 captured on 2020-11-07 at 00:57:45. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

The Early History of Smalltalk (1993)

Author: gjvc

Score: 45

Comments: 5

Date: 2020-11-07 00:39:24

Web Link

________________________________________________________________________________

travisgriggs wrote at 2020-11-07 03:21:38:

"Smalltalk's design—and existence—is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages. Philosophically, Smalltalk's objects have much in common with the monads of Leibniz and the notions of 20th century physics and biology. Its way of making objects is quite Platonic in that some of them act as idealizations of concepts—Ideas—from which manifestations can be created. That the Ideas are themselves manifestations (of the Idea-Idea) and that the Idea-Idea is a-kind-of Manifestation-Idea—which is a-kind-of itself, so that the system is completely self-describing— would have been appreciated by Plato as an extremely practical joke [Plato].
In computer terms, Smalltalk is a recursion on the notion of computer itself. Instead of dividing "computer stuff" into things each less strong than the whole—like data structures, procedures, and functions which are the usual paraphernalia of programming languages—each Smalltalk object is a recursion on the entire possibilities of the computer. Thus its semantics are a bit like having thousands and thousands of computers all hooked together by a very fast network. Questions of concrete representation can thus be postponed almost indefinitely because we are mainly concerned that the computers behave appropriately, and are interested in particular strategies only if the results are off or come back too slowly."

Oh that others that claimed "Object Oriented" could have been inspired thusly. I did a bunch of Smalltalk over the years, and I find this an apt and poetic description. It wasn't perfect, but it was cool. I've never felt that any of the other hybrid/multi paradigm did OO the kind of service described above.

macintux wrote at 2020-11-07 04:10:02:

> I've never felt that any of the other hybrid/multi paradigm did OO the kind of service described above.

That’s how I feel in general about multi-paradigm languages.

I like mine opinionated: there are very real advantages to a language which has a strong sense of purpose and the corresponding constraints that typically follow.

Sure, Python has functional features layered atop it, but without reliable immutability it’s not nearly as pleasant to work with as, say, Erlang.

baryphonic wrote at 2020-11-07 05:24:13:

Just as an aside, one of my favorite talks[1] is the late Joe Armstrong interviewing Alan Kay.

[1]

https://news.ycombinator.com/item?id=25013361

sriku wrote at 2020-11-07 04:54:35:

Erlang certainly seems very close to that description. One principle that gets flouted for convenience is exposing internal "objects" directly via accessorsor other methods. Instead, the idea behind message passing has to be clarified as passing _serializable_ messages - i.e. they're "just data". This restriction is a powerful one and permits the kind of encapsulation being talked about.

moocowtruck wrote at 2020-11-07 03:33:45:

I just picked up pharo and gtoolkit recently... wishing this was the direction we were going in these days