#incantationprogramming
The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be…. The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn’t work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program. ~Frederick Brooks
Are systems becoming easier to use?
I remember when I assembled my first PC a long time ago. There was no operating system, just a brick with switches in front, and inside was a very simple 8-bit processor. To program, I had to enter one eight-bit code using the switches, one byte at a time. Nobody else at home could use it except me, and its usefulness for anything other than assembly programming fun was dubious at best. I was so proud of the day when I programmed it to play the bumble-bee tune.
Fast forward to today, and I am typing on a respectable Surface tablet, whose usefulness cannot be doubted. The difference between that old 8-bit system and the Surface is mind-boggling: 8 bits versus 64, 1 kilobyte of main memory versus 2 gigabytes, front-panel switches versus a full keyboard that also doubles as a cover, 10 kilograms versus less than a kilogram in total weight, LED lights versus a high-resolution screen, and on and on.
In terms of software, the contrast is even more mind-boggling: no operating system versus one that is more complicated than that run on mainframe systems a couple of decades ago. A programming system that makes it easy to churn apps for any task imaginable.
Clearly we have progressed so far. Or have we? Sometimes I have my doubts, like when I was explaining to my sister (who is almost as old as I am) over the phone how to drag-drop a file from a folder to dropbox.com. She got it done, but I felt that the only proper way to teach her was for me to take control of her PC remotely. Why can’t she just do it using voice commands? “Move file X from PC folder to dropbox.com.”
Voice commands now work too, but there is a catch. You have to be very precise in your “incantation”. Wrong incantation, and you get the wrong results. This makes our computer manuals no different from sorcery books. May be there’s a better way to communicate with computers, but for now precision of language is most important.
Of course precision of language is also important in the practice of law. I believe this is why lawyers love their laptops and tablets too.
…well I guess that’s the next step – computers being able to recognize all the possible ways you can ask to perform an action
Yeah, may be if a command is ambiguous, the computer can ask “did you mean this, or that?” This would be very difficult for the programmer because she would have to consider all the possible meanings of an incantation.