Download as pdf
Download as pdf
You are on page 1of 4
History of the Paradigms (1°— 5" GL) In the beginning, there was binary. The CPU was fed with code in binary and that was the only thing it understood. Binary was like nutrients. Now, they still understand only binary... but now, they can be fed with a wider variety of foods (programming languages). These foods however, have to be digested into nutrients (translated) before the computer can use them. Let’s look at the evolution of the programming languages and how they fed the CPU with information. 1. First Generation Programming Language (1GL) 1GL is a machine-level programming language which was written in 1’s and 0's. 1GLis referred to as low-level language. The code, being binary, could be understood and used directly by a CPU as it is the native language of the CPU. This eliminated the need for compilers or translators. Programs written in 1GL ran very fast and efficiently as they were directly executed by the CPU. Because everything had to be specified in 1GLs and all code was written in 1’s and 0’s, these languages were very difficult to learn. Because of the plethora of 1’s and 0's, it was also difficult to detect and correct errors in 1GL programs. 1GL programs were also machine dependent and as such were not portable, that is, they could only be executed on the computer they were written on. : . Second Generation Programming Languages (2GL) 2GL comprised of assembly languages which used code written using mnemonics to represent low-level machine operations. 2GLs are also referred to as low-level languages. The code is symbolic and must consequently be translated to machine language so the computer can understand it. This is accomplished by using an assembler. Assembly language uses easy-to-remember symbols such as ADD, MOV and CALL and is therefore easier _ to learn. Source code written in assembly language is also easier to understand and errors are more easily identified than in 1GL. 2GL programs were only able to be transferred to other computers which had the same type of processor and environment; they were partially-portable. Due to the assembling process 2GL had to go through, they were not as fast as 1GL. They were however faster than their successors. 3. Third Generation Programming Languages (3GL) These are the successors to 2GLs. 3Gls are considered to be high-level languages as they are closer to human languages like English. 3GLs allow for implementations of certain functions, like which register to put information in, to be hidden from the programmer. Programming time is consequently reduced. 3GLs are easier to code in than 1GLand 2GLs, as they utilize English-like statements to represent machine operations. They are consequently easier to understand and error-finding and correction is made less tedious. Programs written in 3GLs tend to be executed more slowly than their predecessors however, as they have to be preprocessed then translated before the instructions can be - understood by the CPU. They are generally portable, being able to be executed on different computer systems once compiled. 4. Fourth Generation Programming Languages (461) 4GLs are considered to be even higher-level languages than 3GLs as they are even closer to any human language, like English. This proves particular advantageous to people who have little formal training in programming. They allow for more operations to be performed using lesser commands than _ their predecessors. They improve upon the advantages discussed for 3GLs above and have the same disadvantages as well. 4GLs are used when developing database querying systems, report generators, GUI creators, report generators etc. Fifth Generation Programming Languages (S5GL) 5GLs are considered to be in a totally different class from the other generations of programming languages. This is because they take an entirely different approach to arriving at the solution to a problem than the other generations. This approach sees to problems being solved by specifying conditions and constraints to the program in a logical manner rather than by using a. programmer-written algorithm. 5GLs are mainly used in artificial intelligence research. Logical and some declarative programming languages are 5GLs.

You might also like