The art and languages of programming, passed through various stages of evolution, so that every stage involved in adding new features, more sophistication etc. at every stage the concept and approach to the programming constructs and style became more and more sophisticated.
The current high level languages evolved through the generations from machine oriented languages to the current structured, modulated languages. Let us have a brief look at the generations programming languages
, so that we can understand the evolution very effectively.
Education of First Generation Languages
The first generation of languages started, with the evolution of stored program computers, which used pre written programs for doing task. This was in late 1940s. The programs were written in machine language (binary digits), which were very difficult to code. Later in 1950s the assembly languages took birth and the assemblers were available, which converted the assembly language code into the machine level code.
This development of assembly languages, paved way for the development of high level language, which was between 1954 and 1957. These high level languages were problem specific and their scope was limited. For example, the high level language FORTRAN-I (Formula translation), was specifically designed for formula translations and was used only for scientific purposes. This language was oriented towards solving numerical problems.
The high level languages of this generation have simple commands and statements and introduced the control structures. These languages are the basis for current day sophisticated high level languages.
Second Generation Languages
These languages were developed between late 1950s and, early 1960s. These languages introduced many new concepts into the way and style of programming. ALGOL 60, COBOL, KISP, FORTRAN-II etc., is the popular languages of this generation have introduced sophisticated programming constructs, both conditional and iterative constructs. The concept of data types developed, the structured programming concept developed, which laid a strong foundation for current languages.
Third Generation Languages
Late 1960s and early 1970s witnessed the evolution of third generation languages. SIMULA 67, ALGOL-69, BASIC, SNOBAL-4, C, PL/1 etc., were some of the popular languages of this generation.
The languages of this generation introduced the concept of record structure and classes. The programming became, similar and easier task, with more and more features for better and efficient programming like concept of arrays, pointers, storage classes, exception handling etc. Languages of this generation brought in the features, which made languages more and more powerful, easier, and capable to handle any type of problems, which paved the way for General Purpose Languages.
Fourth Generation Languages
The world of computers witnessed the fourth generation languages in late 1970s. Most of these languages had their base in third generation languages. Many software development tools were introduced in 1970s which enhanced the productivity of fourth generation languages. These languages interact with database management systems (DBMS) tools for storing, manipulating and retrieving data. Most of these languages supported modular multi-programming.
Most of high level languages can be taken as procedural languages, as the programmer has to give the necessary steps for achieving the result desired. For any given output one has to specify steps in sequential order, following certain procedures. Whereas most of the fourth generation languages are non procedural languages, where one has to just specify what should be the output, without describing the steps involved for arriving at the desired output, which is taken care by these languages.
Most of the statements in fourth generation languages are simple, very easy and self explanatory, which made them popular widely, used languages. These languages usually have features, which distinguish them from others, in terms of working, efficiency and the environment.
Define Programming Concept in Education
Before looking into features of some of the popular languages we need to know the basic fundamental concepts, which make the programming easier and a step by step process.
Algorithm: Algorithm is a step by step procedure involved in solving any problem written in any simple and understandable human language
(Mostly English) so that before writing a program, the programmer knows the in-outs of the problem to be solved, when he can choose any programming language suitable for solving the problem, which should be a simple and easy solution. The algorithm is same; whatever might be the programming language, as it acts a basis for the program development. It is a good programming practice to write algorithm for any problem actually writing the program.
As algorithm is text based, a better solution thought to be a graphic based solution, which using various graphical symbols illustrate the basic flow of the program. As graphics are easy to understand and convey the meaning to the programmer about the steps involved in program writing. This technique of flow charting involves usages of predefined graphical symbols, which convey special meaning to represent the steps of the program.