Here’s the transcript from 23:53~, the “HTML burn”.
Think about it. HTML on the Internet has gone back to the Dark Ages. Because it presupposes that there should be a browser that should understand its formats. This has to be one of the worst ideas since MS-DOS. [Applause]
You don’t need a browser. You just read it in. It should travel with all the things that it needs and you don’t need anything more complex than something like X Windows, hopefully better.
Wouldn’t it be even worse to have the state distributed among a multitude of objects? Having a single source of truth for the application state seems, if not inevitable then desirable for practical reasons.
I’m not convinced it’s better for data formats to carry with them the “procedures that can understand them”. That seems to mix concerns, where what I wanted was to transport data safely and instead get a Turing-complete system along with it - like HTML and JSON versus Flash or a bundle of JavaScript drawing on a canvas.
But of course it depends on the implementation. I’ve dreamt before of a Web of Lisp Objects (WoLO), where we could share applications and their states as easily as sharing documents and text files.
I feel that thinking like a mathematician is better because mathematics is closer to the bottom of everything than physics or biology. (xkcd #435)
But I get what you mean, we need more Biomimetics, learning from patterns in nature.
Alan Kay in a personal correspondence (2003) said this about “object-oriented programming”.
The original conception of it had the following parts.
I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning – it took a while to see how to do messaging in a programming language efficiently enough to be useful).
I wanted to get rid of data..
My original experiments with this architecture were done using a model I adapted from van Wijngaarten’s and Wirth’s “Generalization of Algol” and Wirth’s Euler. Both of these were rather LISP-like but with a more conventional readable syntax. I didn’t understand the monster LISP idea of tangible metalanguage then, but got kind of close with ideas about extensible languages draw from various sources, including Irons’ IMP.
The original Smalltalk at Xerox PARC came out of the above.
This part resonates for me, how objects are like abstract machines.
objects being like biological cells and/or individual computers on a network
Taken further, an object has its own interface language (methods), memory (state and properties), inputs/outputs, operations to perform state transitions. Such objects can communicate among each other within an application, between applications, or across the network.
Also an object could be persisted to disk and resurrected/reanimated at a later time, like software cryogenics - or computer hibernation where it saves the entire system state before shutdown and restores it on next start.
Mentioned by Kay:
- Euler (programming language) - “EULER: A generalization of ALGOL and its formal definition” by Niklaus Wirth
- IMP (programming language) - Edinburgh IMP by Edgar T. Irons
Related thread:
