Alan Kay quotes about the internet etc indirectly related to SAFE

There are some amazingly applicable quotes from Alan Kay in this article which focuses on the state of the internet and programming in general.

I thought it would be fun to share with a like-minded audience and see how the safe network addresses the good and bad parts of the internet and computers as we and Alan currently know them.

The Deep Insights of Alan Kay - mythz blog [2013] (emphasis mine)

The whole article is great but these parts particularly stood out to me

[Alan] refers to the Internet (TCP/IP) as being one of the few large-scale software projects that was properly engineered where its level of complication is balanced by its level of complexity which was achieved in < 20k LOC that acts behaves like a living, dynamic system able to handle billions of nodes that has never been stopped after it was turned on in September, 1969. As this was so rare many people don’t consider the Internet as normal software made by man:

“The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs.”

[Object Oriented Programming] to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them.

I’m sorry that I long ago coined the term “objects” for this topic because it gets many people to focus on the lesser idea.

The big idea is “messaging”

The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be.

This is an especially beautiful line of thinking for me to read about because it seems to me that messaging is the key to the safe network.

Alan has an interesting theory on the best way to advance Computer Science:

I believe that the only kind of science computing can be is like the science of bridge building. Somebody has to build the bridges and other people have to tear them down and make better theories, and you have to keep on building bridges.


Yea, well back in the sixties we didn’t have too much memory to work with so things had to streamlined and that helped a lot.

It certainly was a amazing feat for any piece of software.


and vomit their waste just there

1 Like

I find it interesting that their are parallels in thinking of nodes as objects vs objects in code. Ultimately, we should always be working to keep both loosely coupled and highly cohesive, just as the text books taught us.

I think the difference at the node level is that it likely goes beyond a small team, making it even more important. Badly written modules can still be understood by a dedicated team, but the same doesn’t follow at the node level - it becomes a nightmare to maintain all the dependencies.