Reading Comprehension Practice
Programming languages
There are literally hundreds of high-level languages, each one having strengths and weaknesses for any particular application. The language COBOL (Common Business Oriented Language), for example, was designed for business applications. It is very useful at handling large amounts of stored information and can be used to design complex forms and reports. FORTRAN (FORmula TRANslation) is one of the oldest high-level languages. FORTRAN makes complex calculations easy to perform but is not very good at manipulating records or formatting output reports. In the educational environment, the most popular languages for microcomputers are BASIC and PASCAL, while each mainframe system has its own specialized language.
All programming languages have advantages and disadvantages. All are very flexible; most things that you want done can be programmed. However, since they also require complete specification of every detail, programming languages can be difficult to use. Programming errors are common, and it often takes a great deal of time to write a completely functional and problem-free program.
Increasingly popular in education is a special type of high-level language: the authoring system. It differs from a programming language in that you can use it to create a program without using any programming commands. Most authoring systems have a similar format: as you use the system you are constantly prompted about what options are available. For instance, the system may first ask whether you wanted to enter information or questions. Depending on the option you choose, you are taken to a display where you enter either the information or the questions, just as you would on the typewriter. That is, the words you type and their position on the screen are the same as they would appear in the final program. No commands are necessary.
If the computer needs more information at any point, the system requests this through a series of simple questions. For example, the system may ask how many attempts you will allow when answering the question, what is the correct answer, whether other answers are acceptable, or what hints to give. The authoring system conducts a dialogue: it asks questions, and you respond. Your answers provide all the additional information the system needs to construct the final program. It takes what you have entered and, on its own, writes the program to produce the desired results.
Authoring systems, like PASS, represent major advances in the field, even though they often impose many constraints on the author. Compared to a programming language, most present-day authoring systems are not very flexible and force the program to conform to a relatively small number of alternatives. Not surprisingly, then, most programs developed on an authoring system look very much alike. However, because authoring systems are easy to use, require no knowledge of a programming language, and save time in producing a final product, we believe that authoring systems have an important future.
Read the text and discuss the following:
Programming languages
The authoring system
Software
The physical components of a computer (the hardware) are not useful by themselves. Before they can function as intended, computers need programs to coordinate the activities of these physical components. In addition, they need programs designed to perform specific tasks, such as word processing, payroll calculations, budget analyses, data manipulation, or the presentation of information to students. All such programs are known as software.
A program is a series of instructions that tells the computer what to do. When the computer actually follows the instructions, we say that it executes the program. Computers will do only what they are told; they cannot make inferences or reach decisions by themselves. Consequently, every detail must be provided, because with missing steps or details the program will fail to perform as desired.
Programs of all types share one common feature. They consist of a list of instructions that the central processor can recognize. In reality, we rarely write the instructions that the processor itself needs; rather, we write instructions that are later translated into these by a special program called either a compiler, condenser, or an interpreter, depending on how it performs the translation. At the processor level, instructions are very primitive, consisting of short sequences of bits representing numbers, which makes them difficult to use. Fortunately, instructions have been developed that are more meaningful to people, such as PRINT or GOTO that have meanings similar to their English-language counterparts. These are far easier to use and are called high-level. A whole set of instructions is called a language.
Programs fall into three broad categories: operating systems, programming languages, and application programs. The term software applies to all of these. Just as hardware includes printers, VDU’s, card readers, and a host of other devices, so software includes all the various types of programs that exist. Operating systems control and coordinate the activities or operations of the computer; programming languages enable people to write programs; and application programs consist of the instructions necessary to perform specific tasks. For example, a system program would enable the computer to send the results of a payroll program to a printer.
Operating systems are programs that control the computer and are supplied with it. Part of the operating system controls the operation of the hardware such as activating printers and disk drives. Another part accepts input from the keyboard. Other parts perform tasks like allocating memory to various programs, or determining the order in which programs should be processed.
Each operating system is designed specifically for the computer it controls and thus enables the computer to optimize the use of the hardware features. Unfortunately, some operating systems are so badly written or so poorly documented that this is not always the case. This state of affairs is changing, however, and operating systems are becoming increasingly easy to use. Generally, users cannot and should not make changes to operating systems.
Programming languages. As mentioned earlier, the central processor receives instructions in machine language, a very primitive or low-level form of communication. Because it is so difficult for people to write extensive programs in machine language, there developed very rapidly what became called high-level languages. These are languages that use instructions similar to English words.
An application program is one that performs a specific task or solves a particular problem. It also has the general characteristic that it was either written specifically for a particular purpose, or designed in such a way that it could be tailored to a particular situation.
A school, for example, may use computers extensively to provide instruction and remediation. To keep track of how various students are progressing, it may be necessary to have the computer accumulate the results of each student’s performance and automatically update the student’s records each time new data are obtained. A program that keeps track of grades could first access these records and then print out a composite report for the teacher. Such an application program could be designed specifically for a particular school taking into account some of the unique details of the school’s operation.
Instead of writing this record-keeping program just for one particular school, however, an alternative approach would be to investigate the needs of a number of schools before designing the program, and to incorporate into the program the capability of satisfying many schools’ needs. Each school that implemented the program would have to make minor adjustments to suit its own unique needs. A program like this is also an application program, but it differs from the one above in that it has a general structure and can be manipulated to meet a variety of specific needs. In general, such programs are less expensive to buy because they have a larger market, but they have more constraints built into them.
In the field of educational computing, application programs include instructional programs, programs that handle grades, and various programs that allows a teacher to create and administer tests or drills.
Software, therefore, is what makes computer hardware useful. It consists of all types of programs: those that allow the various parts of a computer to function and to operate together; the languages that enable one to write new programs and the programs that perform specific tasks.