A little while ago, The Guardian ran a piece titled Smash the Windows. The thrust of the article is that the majority of computer users are totally illiterate, and that our society is filled with “millions of peasants in the technological middle ages”. This is not meant in a derogatory way, but rather to draw a parallel: just as centuries earlier, reading and writing was a skill for the elite, today, only a small number of people can read and write code that their computers understand.
It’s true. The average computer user struggles to accomplish tasks which are well within the computer’s capabilities; the user is lost in a confusing sea of buttons, menus, popups, windows, toggles, switches, and all sorts of user interface metaphors, many of which confound the user simply by virtue of their ambiguity. Microsoft Office comes to mind — is it really necessary to make users drag their mice across pictures to figure out which ones they can click?
As a result, people are perplexed by these vastly capable, enormously stubborn machines with which they are forced to interact every day. Those who manage to understand the computer’s interfaces and remain productive are still stumped the moment they need to do something for which a button hasn’t been created.
Part of the reason so few computer users actually learn to program is that technology moves quickly. My parents knew how to program, but they used punch cards and wrote in APL. These days, I’m usually the one who fixes my sister’s computer. Sometimes I hear people say, “I learned some BASIC when I was younger, but it’s not really applicable anymore.” And that’s true.
But a bigger problem is that most people simply don’t care. They think the computer should be able to do whatever they tell it to, and get flustered when the computer’s approach to a problem does not mimic their own. This is not a good strategy. Most computer programmers don’t have time to study Human-Computer Interaction; after a certain point, the user must be willing to understand the tool.
This is true of real life, but in the physical world it seems almost too obvious to mention. If I give you a box of nails and a hammer, you know what you’re going to do with them, which end of the hammer to hit with, and how to swing it so that you don’t break your thumb. The computer, like a hammer, is a tool — you must understand how it works and what it is capable of in order to use it well. The solution is for average computer users to start learning basic programming skills.
When I was in 4th grade, everyone in my school learned to program in Logo. It’s a simple language; it teaches children the basics of computer programming without boring them to tears. We learned how to make an on-screen turtle draw shapes — not once realizing that we were writing computer programs — and it taught me how to explain a problem in terms a machine can understand. I’ve noticed in Fairfield, CT, that no such program exists. (Even though you can download MSWLogo for free, nobody’s really heard of it.)
Logo is great for kids, but adults need to learn Python. It’s easy and clean enough for a beginner to grasp, but also excels as an industrial-strength programming language. If you’re reading this and you don’t know how to program, give it a try. Download the latest version of Python, find an online tutorial, and start playing around. How to Think Like a Computer Scientist is a very good introduction for non-techies.
I’m not saying every person who needs to type a paper must first be able to program a word processor. But just as car drivers need a basic understanding of what an engine does, today’s computer users need to develop a better understanding of how these complex machines work. Those who do not are destined to feel confused and frustrated every time they can’t find the right button to click.
![[ Hacker ]](/static/images/hacker.png)
Leave a Reply