4 ms·
I can add my 2 cents to the Smalltalk discussion as I've been watching just recently many of the Alan Kay's videos on the YouTube. I can summarize Smalltalk th
by bartq 4y ago
I can add my 2 cents to the Smalltalk discussion as I've been watching just recently many of the Alan Kay's videos on the YouTube.
I can summarize Smalltalk thing this way: existing Smalltalk implementations (Squeak, Pharo etc.) are not something we should use in real world, they are just proofs of concept and food for thought. Real Smalltalk-like/Object oriented systems were bespoke written for specific machine and specific customer. Current day examples of OO (object oriented) systems really are... the Internet with all of its nodes, operating systems UI windowing systems to some degree (although very crippled and simple), maybe something like kubernetes, but again, it's very crippled and awkward. The ultimate goal is to create an environment, where there can exist objects (let's say processes/agents), which talk to the environment and other objects using messages. On top of all them you should be able to create full programming language which would allow you to compose/iterate/send messages to objects in any way you want, creating as many levels of abstractions as you wish, maybe creating new wrapper objects keeping some other objects inside etc. The programming language itself also should be the subject of real object orientation, for example the debugger or running program should be an object reacting to messages like "stop", "resume" etc. Languages like Rust/Go/JS should be used only to implement internals of some object and react to incoming messages in its narrow area when managing memory, data structures and IO. This is partially true today, we use OS to send messages/pipe sockets etc to the objects/processes. Sending messages should ignore the physical location of the object, just like the Internet does.
Thinking this way, the glue code we write today should disappear in 99%, we should be able to start thinking in higher abstractions, about running processes, computations in time and space, how they relate to each other, make queries to the processes, create interceptors etc. This is that I see when Alan Kay says the computer revolution haven't happened yet and we're still dealing with bag of bad ideas from 60s and 70s. Just packaged in nicer clothes, because we have faster computers and better screens.
We should start thinking longer term and not focus on immediate money as quickly as you see some results, because that's running in circles and real wealth is not created.