Alan Kay: Is Computer Science an Oxymoron?

Alan Kay's title slide, up during the intro says Is the Best Way to Predict the Future to {Invent,Prevent} It? with the {Invent,Prevent} alternating between each other. He jokes that this afternoon's talk can be summed up by the fact that he has to wear two microphones to speak instead of one. The talk was billed as "Software Engineering vs. Computer Science, so I'm anxious to see how his title relates to that. I have some more photos too.

Much of what is wrong about our field is that many of the ideas that happened before 1975 are still the current paradigm. He has a strong feeling that our field has been mired for some time, but because of Moore's law, there are plenty of things to work on. The commercialization of personal computing was a tremendous distraction to our field and we haven't, and may not, recover from it.

Almost nothing exciting about computing today has to do with data structures and algorithms One of Alan's undergraduate degrees is in molecular biology. He can't understand it anymore despite having tried to review new developments every few years. That's not true in computer science. The basics are still mostly the same. If you go to most campuses, there is a single computer science department and the first course in computer science is almost indistinguishable from the first course in 1960. They're about data structures and algorithms despite the fact that almost nothing exciting about computing today has to do with data structures and algorithms.

The Internet is like the human body. It's replaced all of its atoms and bits at least twice since it started even though the Internet has never stopped working. Attacks on the 'Net aren't really attacks on the 'Net, they're attacks on machines on the 'Net. Very few software systems, maybe none, are built in ways that sustain operation in spite of being continually rebuilt and continually growing.

The future five years out is easy to predict because all of the forces acting on computer science are trying to keep it the same as it is now. Likely, the future will be more of what we have now.

Are computer science, software engineering, OOP, etc. oxymorons? Alan reminisce about Bob Barton, an early Utah professor. Bob said that "systems programmers are the high priests of a low cult" and "there are few things know about systems design, but the basic principle of recursive design is: make the parts of the same power as the whole. Bob Barton has a classic paper that contains seven of the most important things that people know about software today. Another quote: "My job is to disabuse you of any firmly held notion you held when you came into this classroom." The best way to get people to think is to destroy their current thinking. Preconceived notions are largely reactions to what vendors are saying. Alan says that his course from Barton was the most valuable one he took in college because Barton garbage collected their minds.