Computer Awareness
Types of Programming Languages
Shikha Adya
April 21, 2020

First Generation Programming Languages:

A first-generation programming language is a machine-level programming language. It consists of 1's and O's compile or assembles the first-generation language. The first-generation programming instructions were entered through the front panel switches of the computer system. originally, no translator was used to The main benefit of programming in a first-generation programming language is that code a user writes can run very fast and efficiently since it is directly executed by the CPU, but machine language is somewhat more difficult to learn that higher generational programming languages, and it is somewhat more difficult to edit it errors occur. Furthermore, portability is significantly reduced in order to transfer code to a different computer it needs to be completely rewritten since the machine language for one computer could be significantly different from another computer.

Second Generation Programming Languages:

A second generation programming language is a term usually used to refer to some form of assembling language. Unlike first-generation programming languages, the code can be read and written fairly easily be a human, but it must be converted into a machine-readable form in order to run on a computer. The conversion process is simply a mapping of the assembly language code into binary machine code (the first generation language). The language is specific to and dependent on a particular processor family and environment.Since it is the native language of a processor it has significant speed advantages, but it requires more programming effort and is difficult to use effectively for large applications.

Third Generation Programming Languages:

A third-generation language (abbreviated as 3GL) is a programming language designed to be easier for a human to understand, including things like named variables A fragment might be let C= C+2*d. FORTRAN, ALGOL, and COBOL are early examples of this sort of language. Most 'modern; languages (BASIC, C, C++) are the third generation. Most 3GLS support structured programming.

Fourth Generation Programming Languages:

A fourth-generation programming language (abbreviated as 4GL) is a programming language designed with a specific purpose in mind, such as the development of commercial business software. Such languages arose after the introduction of modern, block-structured third-generation programming languages, which improved the process of software development. However, it was still frustrating, slow and error-prone to program computers. This led to the first 'programming crisis', in which the amount o work that might be assigned programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalized by adding limited programming languages to them.

The term 4GL was according to James Martin first used in his 1982 book Applications, Development without Programmers to refer to non-procedural high-level specification languages. Nevertheless, the great majority of 4GL users would describe themselves as programmers and most 4GLS allowed for (or required) system logic to be written in a proprietary macro language or a 3GL.

All 4GLS are designed to reduce programming effort, the time it takes to develop software and the cost of software development. They are not always successful in this task, sometimes resulting in inelegant and unmentionable code. However, given the right problem, the use of an appropriate 4GL can be spectacularly successful SQL and Oracle are the examples of some of the successful fourth-generation languages.

Fifth Generation Programming Languages:

A fifth-generation programming language (abbreviated as 5GL) is a programming language based around solving problems using constraints given to the program, rather than using an algorithm written by a programmer. Most constraint-based and logic programming languages and some declarative languages are fifth-generation languages. While fourth-generation programming languages are designed to build specific programs, fifth-generation languages are designed to make the computer solve the problem for you. This way, the programmer only needs to worry about what problems need to be solved and what conditions need to be met without worrying about how to implement a routine or algorithm to solve them.

Fifth-generation languages are used mainly in artificial intelligence research. Prolog. OPS5, and mercury are the best known fifth-generation languages.

In the 1990s, fifth-generation languages were considered to be the wave of the future and some predicted that they would replace all other languages for system development, with the exception of low-level languages. Most notable, Japan put much research and money into its fifth generation computer system project, hoping to design a massive computer network of machines using these tools.

Low-Level Programming Languages:

In computer science, a low-level programming language is a language that provides little or no abstraction from a computer's microprocessor. The word low does not imply that the language is inferior to high-level programming languages but rather refers to the reduced amount of abstraction between the language and itself; because of this low-level languages are sometimes described as being 'closer to the hardware'.

High-level versus low-level is a relative property; a Java Programmer might consider C to be a low-level language, while an assembly language programmer Would consider C to be a high-level programming language, A python programmer might even consider Java a low-level language, (though unlikely, program-oriented languages such as Java are rarely considered low-level, even by those using much higher-level languages). 

High-Level Programming Languages:

A high-level programming language is a programming language that is more user-friendly, to some extent platform-independent and abstract from low-level computer processor operations such as memory accesses. The word 'high' does not imply that the language is superior to low-level programming languages but rather refers to the higher level of abstraction from machine language. For example, the difference between the programming language Java and assembly languages is that Java abstracts programming functionality that assembly does not, for example, strings. 

In general, high-level languages make complex programming simpler, while low- level languages produce more efficient code. In a high-level language, complex elements can be broken up into simpler though still fairly complex, elements for which the language provides abstractions. The cost of this convenience is often less efficient code overall. For this reason, code that needs to run particularly quickly and efficiently may be written in a lower-level language, level language would make the coding easier.  

Note that the terms 'high-level' and 'low-level' are inherently relative. Originally, assembly language was considered low-level and COBOL, C, etc were considered high-level. Many programmers today might refer to these latter languages as low-level.


In computing, an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation of the algorithm is important in computing and this depends on suitable data structures."Most algorithms can be directly implemented by computer programs." Data flow diagrams A data flow diagram (DFD) is a graphical representation of the 'flow' of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design).

A data flow diagram "illustrates the processes, data stores and external entities in a business or other system and the connecting data flows." 

Pseudocodes: Pseudocondes can refer to the technique of using shortcodes, especially within the language with singular name shortcode which was the first even language developed for an electronic computing device. For the different meanings, the term pseudocode refers to a high level 'language' whose aim is to generalize the logic and program flow of a computer program.

Flowchart: Flowcharts are the means of visually representing the flow of data through an information processing system, the operations performed within the system, and the sequence in which they are performed. It is basically a schematic representation of a process. Flowcharts can be thought of as a graphical form of pseudocode.

For Practice Papers Based on Programming Languages, Visit Here