I don’t intend for this blog to become a simple aggregator, but I will post links to interesting articles on occasion.
This article makes the point that the actual mechanics of programming remain what they were back in the earliest days of programming languages: typing words in plain text in an editor.
I don’t necessarily agree that we need to radically change the nature of our interaction with computers. I think that text will allow you to get as abstract as you want to be. I recall that there have been a few attempts at graphical computer languages in the past (Nassi-Shneiderman diagrams, for example, and they don’t seem to have panned out. But I do agree that we generally are working at a level of abstraction that’s way too low-level. On the other hand, when you try to raise the level of abstraction, you quickly find that the devil is in the details; this is where the “CASE tools” approach led to disappointment back in the 80s and 90s. That is, it’s not too hard to build a tool that will generate a simple do-nothing system for you, but when you start implementing the user’s business rules, you find that you’re still doing most of the same work that you would have done without the CASE tool.
What’s the answer? *shrug* I dunno. If I knew, I’d write it. But perhaps by ruminating and talking about it for a while, I can start to trace some of the boundaries of the problem.