[Cuis-dev] Dynabook and education
Douglas Brebner
kirtai+st at gmail.com
Wed Jun 17 06:53:39 PDT 2020
On 17/06/2020 13:14, Philip Bernhart via Cuis-dev wrote:
> I think it's wiser to not base the design on how things *are* but on
> how things are *supposed to be*. Smalltalk was built at a time where
> the circumstances were vastly different than they are today.
Yeah, I know. I'm still thinking my way through this so the following
probably won't be very clear.
> Therefore I think that building Objects on the concept of individual
> actors which each have proper isolation inside them and you send them
> a message, which gets put into an inbox internally and then when the
> object has time get's processed and an answer is sent is a better
> continuation of the object message passing style than to introduce
> special objects like whole images who now are supposed to have parallel
> capabilities and others don't.
Well, the whole point of this is to *stop* treating Images as special
objects because, right now, that's exactly what they are.
This all came about when I asked myself:
"Why isn't the Image an Object?"
and
"Why aren't Objects equivalent to/as powerful as a sub-Image?"
Combining these with Alan's idea of subdividing the computer into
smaller computers made me realise that maybe they *should* be the same
thing. Possibly Actors of some sort.
In Smalltalk, we currently subdivide Computers into Images which are
further subdivided into Objects. Images are as powerful as the
surrounding computer but Objects are not as powerful as the surrounding
Image.
Why not?
Can we make them so and would it help simplify the system even further?
> An example in a different programming language would be Erlang. The
> current hip poster-child for concurrent processing and through the
> nicer Elixir veneer used in Startups. Erlang does everything internally
> with actors, which are called there processes. And this can be
> implemented as true parallel processes when the VM supports it on the
> machine. But for a long time the Erlang VM did everything with just
> clever green threads in one process on one CPU as most other naive
> programming languages do it.
The idea of Erlang and Actors is precisely what got me started on this
path. Along with E-lang Vats, various ways that some single threaded
languages spin out an async subprocess for blocking/slow tasks, QubesOS,
and some messing around with tiny, scratch built Little Smalltalk images.
I'm pretty sure this is vague and unclear but I'm still working on the idea.
More information about the Cuis-dev
mailing list