Various hypotheses

Software cannot present quality until it can also encompass and know a persons a priori experiences

Debugging object oriented programs means that you’re in the realm of classes. But instances are always different from their classes, and these differences are the source of any weird behavior. Data is different, and potentially even behavior. Thinking in terms of classes can be an obstacle in clarity, since instances are never actual clones of classes.

Representations of code shape the way we think about them and model them in our heads. Can we make them

More sensitive to our intuition on the machine?

Programming is like any craft: there are makers and users. The industry evolved this way because all industries evolve that way. Uniting the two is like swimming upstream. Carpenters use chairs they make, but most people just buy them. Becoming a programmer is like being set free, just like any other craft, because you’re no longer at the mercy of the makers.

Are quality and scale at odds with each other?

From Justin: would the 60s kernel hackers call a rubyist a programmer?

Images in smalltalk are like brains — once started, forever trapped looking at and interacting with the world from isolation. Human language is successful at exchanging information, but it’s still very far from perfect fidelity. Just like smalltalk’s code exchange problem. Context is key, and context is recursive, or it can come to be the entire system (or worldview).