The Evolution of Computer Programming Languages

The ENIAC, one of the world’s first computers, was programmed solely by hand. The ENIAC, short for Electronic Numerical Integrator And Computer, was one of the first computers not to use software; it was programmed using a series of switches or cables that needed to be manually manipulated. This programming was labor intensive and not very practical, because of this, programming evolved into writing and storing programs within the computer. (Malaga, 2005)

First Generation Programming Languages

First generation language computers were programmed using simple instructions known as machine language; machine languages consisted of a series of zeroes and ones, making machine languages binary. Each series of zeroes and ones represented a different number, and each processor type used a completely different series; 011010110, is an example of the first generation computer programming language. Many problems exist with this type of programming: errors were common, the system was complicated to use, and it relied on machines. When errors were made they were difficult to correct-picture the difficulty in finding a mistake in line after line of nothing but zeros and ones. One major complication was that any program written was not transferable or usable from one type of CPU to another: a program written for IBM could not be used with a Macintosh. (Malaga, 2005)

Second Generation Programming Languages

By the mid-40s to early-50s programmers were able to make a small improvement on first generation programming languages, but the dependence upon machines remained a large problem. Second generation languages introduced the assembly language; the assembly language, which was abbreviations of words or simple words, antiquated the first generation language of series of zeroes and ones. An example of second generation programming language is: mov $0xc61, %al. Assembly languages were more programmer friendly, but they were still difficult to use, and the programs were still dependent upon the CPU for which they were written. (Malaga, 2005)

Third Generation Programming Languages

Third generation languages, devised by Dr. Grace Murray Hopper in 1957, were able to be written using source code or instructions written in English; the source code was then “translated” into machine language (which is the only language a computer can understand) or object code by a computer program labeled a compiler. Using third generation languages enabled the programmer to no longer need to be familiarized with assembly language or machine language, because the compiler converted the source code for the programmer. The majority of programs written today still use third generation languages, and programs today are able to assist the programmer with debugging and writing source code and create a user interface simply and quickly. (Malaga, 2005)

Third generation programming languages solved the problems prevalent in first and second generation languages; namely, the third generation languages were more programmer friendly and were no longer machine dependent, although the source code still needed to be individualized to each different type of processor. (Malaga, 2005)

Fourth Generation Programming Languages

Fourth generation languages improved greatly on third generation languages, which still remained hard to become skilled at because fourth generation languages more closely resembled spoken language. With the use of fourth generation languages, even the novice can easily write a simple program. Fourth generation languages are more cost effective, in that they enable the user to develop software in a more efficient and timely manner. (Malaga, 2005)

Object Oriented Programming

Object oriented programming differs from generations 1-4 of programming languages by the method in which they receive and process data. Object oriented programming uses objects to process and manipulate data whereas the 1-4 generation languages were centered more on receiving and processing data, then providing output; the data is separated from the actual processing. Programmers used to problem solve by executing one sequence after another, this changed, when programmers changed the way they viewed the world: some philosophers hypothesize that everything in an environment is related to objects and the way in which they can be manipulated or moved. To replicate this line of thinking, object oriented programming allows programmers to generate objects that can interact with each other. (Malaga, 2005)

This change in thinking about the way data is processed is the largest difference from earlier generations of programming languages. In short, object oriented programming differs from older programming generations 1-4 because it allows for the interaction of different programs such as accounts billable, receiving, and report processing; for the average user, it allows for shorter report generating, reduced errors, and a more balanced and organized approach to accounting (or many other programming usages). Object oriented programming and generation 1-4 programming are similar in the way in which tasks are performed: lines are logically and systematically executed in order. (Malaga, 2005)

It is clear, even to the novice, that the progression and improvement to programming languages have made software programming increasingly user friendly, with the ability to transfer programs from one type of central processing unit to another with little hassle.

References:

Malaga, R. A. (2005). Information systems technology. New Jersey: Pearson Education, Inc.

Leave a Reply

Your email address will not be published. Required fields are marked *