“Talking” to Computers
By “Awake!” correspondent in Japan
“NEW CONVERSATIONAL TYPE COMPUTER SYSTEM,” read the magazine ad. I chuckled as I thought about a person carrying on a conversation with a machine. Did this mean that the computer could actually carry on a conversation? What could be gained from communicating with a machine anyway? The answers I received from a friend in the computer field were very interesting.
First of all, I learned that the communication meant in the ad isn’t the vocal type. Usually it means interactive computing (giving instructions to the computer and receiving an immediate response) by means of a video unit or online printer (one directly connected to the computer). Just as human language is for the purpose of communication, a computer “language” allows communication with the computer for the purpose of problem solving. Such communication with the computer tells it what to do and presents responses showing what has been done.
The medium for getting instructions to the computer is called a computer or programming “language.” To “talk” with a computer, you would have to learn one of the many programming languages.
Programming Languages
According to my friend, the set of instructions provided for a computer to perform some specified activity is called a program. A modern programming language is a set of characters and words that is, ideally, similar or close to human language, yet can give instructions or transfer data to the computer.
Although the history of programming languages is short, about thirty years, there are already over 1,000 programming languages and more are being developed every day. This is due to the many uses to which computers are being put and the developments in computer technology.
The names given these languages either describe their characteristics, such as FORTRAN (FORmula TRANslation), BASIC (Beginners All-purpose Symbolic Instruction Code), COBOL (COmmon Business Oriented Language), or just identify them, such as PL/1 (Programming Language 1) and APL (A Programming Language). Some, such as FORTRAN, are designed for using mathematical terms and are better suited to scientific calculation, while COBOL uses business English and is a business-oriented language. PL/1, which is the primary language employed at the New York Watch Tower headquarters and its Japanese branch for their publishing system, is a general language adaptable to most fields.
Just as there are rules governing the grammar and punctuation of human languages, each programming language has its own particular set of rules, or syntax. These must be adhered to if the program is to be understood by the machine.
As anyone who has ever learned a foreign language knows, eliminating just one necessary part of speech or mispronouncing a word can be disastrous. This is likewise true as far as programming languages are concerned. To drive this point home I was told to think back a few years to the launching of NASA’s Apollo 8 spacecraft. A FORTRAN program for launching the rocket contained one programming error, a hyphen that was omitted. As a result the multimillion-dollar rocket failed to orbit! What a costly loss due to one error!
Another point that was stressed to me concerned what a computer can and can not do. The computer has no originality—it cannot produce something new unless it has the necessary components fed into it. Thus, if a program told the computer to GET FILE 1, ADD it to FILE 2, then PRINT it, but file 1 had never been entered into the computer, the work could not proceed, and a response like “FILE NOT IN LIB” would probably come back to let you know that the file is not in the memory LIBrary.
Such responses are also entered in advance. So, both the questions and the means to answer, all the information given and taken in communicating with computers, are devised by man. It reminds me of a play script with all the entrances, exits, speaking cues and lines written in for the actors. Whatever a computer does must be preprogrammed.
Here I learned another peculiarity of computer language. No matter how proficient you become, you always need a translator to make yourself understood by the computer. That is no fault of man but is due to the limitations of the machine. It can only understand information in the form of 1 and 0, so you need a translator program to put the programmer’s instructions in that form. Thus, there are really two copies of the program involved—the one the programmer writes, called a source program, and a translated copy, which the machine can execute. The computer then performs its operations using information that it can understand. It can respond to the user through a video screen or a printer by translating its response back into characters that a person can read.
What the programmer is primarily interested in is the source programming language. This is the one that men write programs in, and they must know it well to have a good program. The machine languages are installed in the computer and prepared by the company that produces them.
Who Can Learn
An important factor in whether you will learn a programming language and become proficient in its use is your interest. Those who learn the best are those who have interest in computing and its related fields.
Another requirement often stated involves age. The younger you are the better, is the usual advice. This is so because the older we get the more set our thinking patterns become and the harder they are to adapt.
In the past it was thought that a math background was essential for those desiring to go into the field of programming, but today this is not the case, unless it is to program mathematical type of material. In fact, some years ago a contest showed that one of IBM Japan’s most effective programmers was a Liberal Arts graduate. However, the type of mind that readily places things in logical order with a high degree of accuracy is necessary to good programming.
How to Learn
Today there are many aids to learning the different programming languages. Thus, you can go a long way toward teaching yourself. For one thing, the languages themselves are getting more and more like the spoken word and are therefore easier to use and learn. Also, many computer companies have publications that can be ordered that teach basic programming techniques and languages. Some secondary schools offer courses in programming, and libraries have any number of books on the subject.
There are, however, some drawbacks to learning completely on your own. Just as in spoken language, there is always the possibility of picking up bad habits, which are hard to correct later on. Also, having a good example to learn from is a great aid in developing skill. Another point that must be taken into consideration is that computer companies are constantly updating and adding new techniques. So just learning a programming language will not guarantee that it can be used as it is.
Is It Worth It?
Is the time spent learning a given task thoroughly and then programming a machine to do that task worth it? The facts answer, Yes. True, planning and writing a program take time. But once the program begins to operate, the computer can function much faster than men, some computers being able to do over 200 million basic operations a second! Also, a job done on the computer is more accurate than if it were done by many different men. All the time saved from performing repetitious operations frees men to do more worthwhile tasks. For these reasons many companies have computerized their work, thus opening up jobs for computer programmers.
Does “talking” to computers interest you? Learning their languages could present an interesting challenge.
[Picture on page 23]
100 degrees Celsius is how much in Fahrenheit?
1101 0100
That means 212 degrees Fahrenheit