I have a dream; that one day, a programmer will be able to look at any program, and within just a few minutes will know exactly how it works, how all of its classes fit together, where the bugs are, and how to change it do to do what they want.
"Am I mad?" I hear you ask? Probably. I'm a pretty experienced programmer, doing it as a hobby and job using loads of different languages (see Laser Squad 3D for my current raison d'etre). I say different languages, but are they really that different? And I'm not just talking about Java and C. I think all languages involve text, with the compiler/interpreter starting at the top and getting to the bottom (generally).
I think we need to start again.
The human brain, apparently, works better with images than words. So maybe this is how we should program. This has been baking at the back of my mind for years, and still has a long way to go, but I imagine programming visually. E.g., have a picture of a database, and a picture of a form, and maybe arrows pointing from a button on the form to a table in the database. I dunno. Maybe someone will tell me there already is a language like that. The main problem is that at the moment, to know how a program works, you have to read it. And it could be better.