Difference between Procedural and Non-Procedural language

Procedural Language:
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:

Non-Procedural Language:
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:

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.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.