We say “Computer Program” and naturally that sounds very different than “Theater Program” but the word program means the same thing. A list of things to take place in a certain order. Computer programs are built of algorithms. The program itself is a kind of meta-algorithm.
Algorithms are an unambiguous set of instructions like:
- go in the house
- hang up your coat
- sit down
But what if I have a problem getting in the house? What if the door is locked? A nested algorithm is waiting at that event.
- find key
- use key to open door
But what if I can’t find the key? A nested algorithm is waiting at that event.
- Search for key
- in pockets
- on the ground
- in the car
If key found, use it to open the door. But what if I can’t find my key? You know.
> If key isn’t found:
Knock on door, see if anyone is home
> If nobody is home
Check other doors to see if they are open
> If no other doors are open
Call your people on the phone
But what if I can’t find my phone? And on to infinity.
If you think about this in detail, you can imagine lots of nested algorithms. And this all for something that only comes up in the unusual case of being locked out of the house. In the moment we never think of it this way because we aren’t EXAMINING the program or debugging it, we’re running it! If a person had never used a key on a locked door, they wouldn’t have this program in place or not all of it at least. It’s clear that we can learn a huge variety of specialty programs like driving a car or performing brain surgery or cooking a dessert.
On the way to learning it the program is patchy and buggy. When you are learning to drive a car you are writing, debugging and compiling the driving program. Every moment is an effort and every outcome is in doubt. One class of bad drivers are people who never STOP feeling this way while driving; who never own the material. Another are people who essentially have a complete program, but a bad one; like the guys weaving confidently but recklessly through highway traffic. Most of us are in rough alignment about what to expect on the road because our different programs are similar enough to provide a set of mutual expectations about any situation we find ourselves in. It’s only these mutual expectations that make driving possible.
In a sense then DRIVING, meaning the sum total of all of us out there on the road is the PROGRAM. You and your driving skill and where where you are going is a nested algorithm. All the if/thens enroute are further nested algorithms. Bad drivers are buggy code.