Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling (2000)
gotw.ca
gotw.ca
Few things in programming are as stupefying and obvious as to why we all essentially still use glorified text editors to do "high-end" programming. I wonder if in a 100 years programmers will still be editing text. I'd like to think there's a paradigm shift out there but no one's found it yet.
That would be really fun time to program.
Text and programming languages: It ain't pretty but it isn't broken so don't fix it.
In terms of representing structure with pictures, there is a further weakness in that many problems can't be neatly represented in a diagram because they have more than 3 dimensions to them.
I think you basic point still stands though: I'm sure we could be more effective about how we navigate around code and express ourselves to the computer.
I think it's great for people to experiment with different ways of expressing programs. But I don't think the fact that programming is mostly text-based is necessarily a cause for disappointment, and my guess is that any future form of programming will look more like augmented or improved text, rather than something completely different to today's programming.
I'm looking, however, and I think I'm on the right track. I'll need time. I'll believe I've succeeded when Lisp is no longer my favourite language.
I did a quick calculation a while back. I don't want to repeat it, since I lost the source, but the conclusion was that typing speed doesn't matter for programmers, since most of the time they actually think, not type. I.e. the bottleneck is information no the input of it.
Also reading is important, and having concise, short code is a boon to understanding code. In most cases, every extra non-comment character is just a place for bugs or misunderstandings to hide.
It's the friction of entering those other representations that's the problem.
The use of an interface drops off in greater proportion to the difficulty of using it - Nev's law
(IE, if a user interface is twice as difficult to use (takes twice as long to do things or takes twice as many steps for example), then it will be used by much less than half as many people.)
I've implemented a whole rich code editor/language around that, here is an old essay about it:
http://research.microsoft.com/en-us/projects/liveprogramming...
And a more recent version of the system:
http://research.microsoft.com/en-us/um/people/smcdirm/apx/in...
Indeed.