The other day, thousands of people were enjoying their breakfast, idly working on the day’s Cryptquote, only to then ask, “who the heck is this guy?”
Yes, computing has invaded our mornings, too.
Here’s another way to look at it:
Software is the stuff you yell and hardware is the stuff you kick.”
There is a meme that began in the web cartoon XKCD, called Up Goer Five in which one attempts to describe a complex concept using only the one thousand most common words in English. Tho Sanderson developed an up-goer five editor, and so I thought I’d try my hand at defining software.
Thanks go to Jan and to Len Shustek for their suggestions!
What is software?
This is the stuff that you can’t see that makes a computer do work. When it’s outside the computer, it looks just like words. We turn those words into numbers that a computer can understand, and then we hide them away inside the computer to make it do the work. Different words can make the same computer do totally different things. For the really interesting things that we can make a computer do, it takes many of those words that we then turn into an even larger set of numbers for the computer to use. It is really hard to make a computer do what you want using these words. If any single word is not exactly right, the computer will do the wrong thing. Sometimes this is just a bother, but at other times it can even hurt people, and that is bad. It is also quite hard to write any large number of words. You have to think very hard in order to make sure you get them all exactly right, which is actually the most fun part of doing it. If there aren’t too many words, they can be written by just one person. If there are more, several people can do it together. If there are a huge number of words to write, it takes lots of people, sometimes even people from many different parts of the world. It can take many months or even years to finish it. Actually, the really interesting stuff is never finished: people just keep adding to it and changing it over time, until it is no longer of use or if it just gets too hard to change. There are a few things that we know we can not make any computer do this way, but for the most part we can make a computer do almost anything we can imagine, if only we write the right words. And that is cool.
Computing has changed the face of warfare, but it is also the case that war has shaped much of contemporary software-intensive systems, leading to advances in networking, high-performance computing, modern user interfaces, semiconductors, and geospatial applications. Without war as a clear and present force, computing would likely have developed along very different paths. Yet, at the same time, nations must accept the reality that computing has radically altered the very nature of warfare.
We’ve scheduled our first lecture on this topic, to be presented at the Computer History Museum on Friday, February 24th; we’ll post a link to the lecture announcement once it is on the Museum’s site.
Please share with us the story of your human experience with computing. Email your stories to computing [at] booch [dot] com, and we’ll post your story on our YouTube channel.
Take out your smart phone, your iPad, your webcam and record a quick 30-60 second video. You can record yourself, your neighbor, your child (imagine your child or grandchild trying to explain how a computer works, or why computers are important.)
Here’s a sample to get you inspired.
Help us show the world that computing really is a human experience.