THE SOFTWARE GENERATIONS

Prev don't be afraid of buying books Next

First Generation

During the 1950s, programming a computer required changing the wires and adjusting a set of dials and switches. Next came punched paper tape (which looked like ticker tape from the telegraph), followed by the punched card. With these tapes and cards, the machine was told what to do, and when and how to do it.

To have a flawless program, a programmer needed to have a very detailed knowledge of the computer. A small mistake would cause the computer to crash—which it did frequently. Today we call this the First Generation Languages.

Second Generation

Because the first generation "languages" were regarded as very difficult to use, researchers set out to create something else, faster and easier to understand. The result was the birth of the Second Generation Languages in the mid 1950s. This generation made use of symbols called assemblers and machine code languages.

An assembler is a program that translates symbolic instructions to processor instructions. A programmer did not work with ones and zeros when using an assembly language. These symbols are called mnemonics because of the mnemonic character these symbols had (STO = store; LDA = load a register). Each mnemonic stands for one single machine instruction.

But an assembler still works on a very low level with the machine. For each processor a different assembler was written.

Third Generation

At the end of the 1950s, the pursuit of "natural language" interpreters and compilers was begun. But it took some time before the new languages were accepted by enterprises. The oldest Third Generation Language (3GL) is likely the scientific language FORTRAN (Formula Translation) which was developed around 1953 by IBM. Standardization of FORTRAN started 10 years later, and a recommendation was finally published by the International Standardization Organization (ISO) in 1968.

COBOL (Common Business Oriented Language) was developed around 1959 for the commercial world. With 3GLs, there was no longer a need to work in symbolics. Instead a programmer could use a programming language that more closely resembled natural language. In the 1970s, well-known so called "high level" languages like BASIC, Pascal, ALGOL, FORTRAN, PL/I, and C were developed.

Fourth Generation

In the early 1980s, came development of the fourth generation. A 4GL is a language or system that the end user or programmer can use to build an application. Therefore, knowledge of a programming language not needed!

The primary feature is that you do not indicate HOW a computer must perform a task but WHAT it must do. In other words, the assignments can be given on a higher functional level. This became known as procedural language.

A few instructions in a 4GL will do the same as hundreds of instructions in a lower generation language, such as COBOL. Applications in 4GLs performed tasks like screening requests for data, changing data, and reporting. In most of these cases, the 4GL was linked to a specific Database Management System (DBMS).

The main advantage of this kind of language is that users can develop and debug an application in a much shorter time than would be possible with older generation programming languages. Also, a customer can be involved earlier in the project and can actively take part in the development of a system, by means of simulation runs, long before the application is actually finished.

Today, the disadvantage of a 4GL lays more in the technological capacities of hardware. Since programs written in a 4GL are large, they need more disk space and demand a larger part of the memory capacity than 3GLs. But hardware of technologically higher standard is made more available every day so, in the long run, restrictions will disappear.

There were problems with the code generated that impaired performance and required substantial investment in hardware. In the 1990s, expectations for 4GLs were too high. In most cases, the 4GL environment was misused and became shelfware. In a few cases, the use of such programs increased end-user productivity.

Figure 4.2 illustrates a timeline of computer software generations.

Figure 4.2. The development of the generations has stopped at the fourth level, although the Japanese attempted to deliver the fifth generation.

graphics/04fig02.gif




Amazon


Autonomic Computing
Autonomic Computing
ISBN: 013144025X
EAN: 2147483647
Year: 2004
Pages: 254
Authors: Richard Murch

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net