In procedural languages, the program code is written as a sequence of instructions. User has to specify “what to do” and also “how to do” (step by step procedure). These instructions are executed in the sequential order. These instructions are written to solve specific problems.
Examples of Procedural languages: FORTRAN, COBOL, ALGOL, BASIC, C and Pascal.
In the non-procedural languages, the user has to specify only “what to do” and not “how to do”. It is also known as an applicative or functional language. It involves the development of the functions from other functions to construct more complex functions.
Examples of Non-Procedural languages: SQL, PROLOG, LISP.
Difference between Procedural and Non-Procedural language:
|Procedural Language||Non-Procedural Language|
|It is command-driven language.||It is a function-driven language|
|It works through the state of machine.||It works through the mathematical functions.|
|Its semantics are quite tough.||Its semantics are very simple.|
|It returns only restricted data types and allowed values.||It can return any datatype or value|
|Overall efficiency is very high.||Overall efficiency is low as compared to Procedural Language.|
|Size of the program written in Procedural language is large.||Size of the Non-Procedural language programs are small.|
|It is not suitable for time critical applications.||It is suitable for time critical applications.|
|Iterative loops and Recursive calls both are used in the Procedural languages.||Recursive calls are used in Non-Procedural languages.|