Our society today depends completely on computers. Large computer systems, used by banks, companies and government agencies, arrived first. They were followed by microprocessors, which appeared in the 1970s and led to the development of inexpensive personal computers. Those computers can now be found in almost every office and more than 30% of all American Homes. Microprocessors also have become a design element for many objects we use daily, ranging from household appliances over autos to devices for communication and entertainment.
Few people are aware, how much we depend on computers; fewer still understand how computers work. Most people know, however, that the computer world consists of two parts: Hardware and Software. Hardware is easy to understand, because it is always some kind of box, with a TV-like screen and, usually, a keyboard. Computer software is different. If one buys software, one gets a box that is almost empty but for a silvery disk, like the ones that have replaced phonograph records for playing music. If one is lucky, the box also contains some cheap paperbacks, which purport to explain how to use the program for which one just shelled out lots of money. One often wonders why the software hawkers charge such outrageous prices for this stuff.
Computer software has always been surrounded by a certain mystique. It is no wonder that the people who create it are often considered a bit strange. It takes a special kind of person to spend hours at a time in front of a computer screen, trying to make the machine do something, and trying to figure out why it does not do what it has been told. One needs attention to detail, perfectionism, and complete concentration to create software. The same kinds of tense young men, who once were found in the scriptoriums of medieval monasteries, debating at length how many angels could dance on the head of a pin, now reside in the cubicles of the software companies, where they debate, with equal zeal, obscure problems of the software trade. They are joined by intelligent young women, who sometimes are equally competitive.
It is difficult for programmers to explain to other people what they are really doing, and they often have the reputation of being socially inept. Outsiders sometimes refer to programmers by the term "geeks", a word originally reserved for performers in carnival sideshows. The images of leaders of software empires on TV show that software people are, indeed, different from other industrialists.
It was not until recently that software and its problems have attracted the attention of the public, and have even created headlines in the news media. Reports on the progress of the antitrust suit against the Microsoft Corporation may have been limited to the business sections of the newspapers. Widespread power failures due to software problems, however, were reported nationally. The Y2K problem has made the front page of serious newspapers and tabloids. The Y2K problem is only a software bug -- but some people predict it will ruin the world economy, cause widespread turmoil and may even herald the end of the world! Before we dig in, buy supplies and prepare for an Armageddon, it may be good to first seek to understand what software, its problems, and the Y2K bug are all about.
This book was written by an engineer who started designing electronic instruments with tubes, transistors and integrated circuits. Then the microprocessor was invented, electronic engineering changed, and the writer designed instruments with microprocessors, keypads, digital displays and printers. Finally the writer became a software engineer and designed software for electronic equipment and military systems for more than 15 years.
The book begins with a brief introduction to the building blocks of the computer, and shows how the software interacts with them. It continues with the basic elements of computer programming, using an example everybod