A computer can read letters and numbers – or, really, any set of markings – and apply rules to them to write a new set of letters and numbers. But there is more. The real beauty of it is this: it can use these same letters and numbers to read in new rules!
What a computer reads is called input, what it writes is called output and the list of rules that it applies is called the program (also known as software). What a program works on (which started as input and may end as output) is called data. When a program is working it is said to be running, like the motor of a car.
This definition might sound really dry and so what. But it is what computers are deep down, it is the root of their power and all they can do: send email, show web pages, play games, store and play music, make telephone calls and figure out your taxes. And countless other things yet to be invented.
Anything that can be expressed as program (a set of rules) and data (as letters and numbers) can be done by a computer.
Computers these days come in all sizes and assume forms that you do not think of as computers: iPods, mobile phones, gameboys, TiVos and DVD players are all purpose-built computers.
Most people do not seem to be aware of how general and open-ended the computer is. Even though it was invented only 60 years ago, it is an invention that is as important as the wheel or writing. And we are only at the beginning of what they can do.
Computers have perfect memory but absolutely no common sense. They do not know what you mean, only what you say. They do just what you tell them, nothing more, nothing less, to a maddening degree. But we put up with them because they can do a lot of things way faster than we ever could and do it with far fewer errors.
A program is written in a programming language. It is a set of instructions that the computer can understand. It looks like something halfway between English and arithmetic. Here is a simple example:
$a = shift; $b = shift; $c = $a + $b; print "$cn"
This reads in two numbers, adds them together and then write out the answer. It is written in a language called Perl. It is just one of hundreds of such languages.
Nearly anything that can be expressed in a programming language can be done by a computer.
Some think that one day computers will rule the world because their intelligence will become so much greater than ours. If the root of intelligence is no more than what I said at the beginning – applying rules to data – then, yes, we are in deep trouble. It is just a matter of time before we become slaves. And it will not be we who sail to the stars, but our computers.