As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
— Maurice Wilkes
Not many people understand programming these days. The Internet and the XBox have created a generation for whom computers are consumer boxes. Back in the 1980's it wasn't like that. To get a computer game running you had to type it in, or if you were rich enough to afford commercial games, at least know the right commands to load it from cassette tape. All the kids knew enough to be able to wander into a Tandy store, type a two line program:
10 PRINT "TRS80 SUCKS!" 20 GOTO 10
They would set it going and then run away laughing.
The glamorous art of programming, the art schools used to teach, and may soon teach again, is the art of putting a program together. First you design how it is going to work. You decide what its initial conditions will be, and what its output will be, and how it will get from one to the other. That's very boring and everyone tries to skip that bit. Then you write loads and loads of cryptic instructions to tell the computer to do what you want. That's the fun bit. That's the bit you see in the Hollywood movies. The sort of program that you write in school might be a dozen lines of code. The first time you try to run that program it will probably fail, so you find the silly mistake, and you correct it, and the program works.
And then you get a job as a programmer in the real world.