“Programming and Scaling” is a 2011 lecture given by Alan Kay. It’s about an hour long, and full of excellent, concise advice. You can find the four parts here: Programming and Scaling
- Alan Kay has spoken in many of his lectures about the difference between IQ, knowledge, and perspective. He discusses it briefly here as well.
- Really complex software can’t be built, it must be grown (like biological organisms do)
- Objects are not data structures. getters and setters in Java bastardize what he meant by OO (which he’s always said is more about message passing than anything else)
- Our perspective in computing has gotten very weak compared to where it was 40/50 years ago
- Programming today is more like pop music, which makes computing a pop culture
- Coming up with a powerful perspective is a lot like raising everyone’s IQ
- When looking at past research and work, it’s best to follow your feelings. Feelings become visions, which become ideas, and that’s how you make a new kind of future.
- The empire state building was built in under a year with 3000 people. That’s real engineering. Imagine trying to coordinate 3000 people to work on a thing in less than a year in computing. Conclusion: we aren’t really doing engineering. We’re doing engineering in the sense that the great pyramids were constructed by piling things on top of other things in an organized fashion.
- OMeta is a project that attempts to make language-writing easier, or at least DSL-writing easier. It lets us turn our ideas into languages really quickly, which is something we don’t to today that programmers 30 years ago did routinely. (Stems from Alan’s disgust at how much code exists/is required for modern software projects)
One of the ideas I had during this talk was to think about heroku dynos as biological cells. A dyno would have the property that it “dies” if there’s no activity for a long time, and could clone itself if there was too much activity for it to handle. An attempt to grow a complex system rather than architecting it.