Sunday, August 6, 2017

Procedural Programming (Procedure Oriented Programming)

What is Procedural Programming?


Conventional programming, using high level languages such as COBOL, FORTRAN and C, is commonly known as procedural programming. In this programming approach, the problem is viewed as a sequence of things to be done such as reading, calculating and printing. A number of functions are written to accomplish this task. The primary focus is on functions.
A program in a procedural language is a list of instruction where each statement tells the computer to do something. It focuses on procedure (function) & algorithm is needed to perform the derived computation.When program become larger, it is divided into function & each function has clearly defined purpose.
The first major procedural programming languages first appeared circa 1960, including Fortran, ALGOL, COBOL and BASIC. Pascal and C were published closer to the 1970s.


Characteristics of Procedural Programming:-

  1. It focuses on process rather than data.
  2. It takes a problem as a sequence of things to be done such as reading, calculating and printing. Hence, a number of functions are written to solve a problem.
  3. A program is divided into a number of functions and each function has clearly defined purpose.
  4. Most of the functions share global data.
  5. Data moves openly around the system from function to function.

Drawback of Procedural Programming:-

  1. It emphasis on doing things. Data is given a second class status even through data is the reason for the existence of the program.
  1. Since every function has complete access to the global variables, the new programmer can corrupt the data accidentally by creating function. Similarly, if new data is to be added, all the function needed to be modified to access the data.
  1. It is often difficult to design because the components function and data structure do not model the real world.

Imperative programming

Procedural programming languages are also imperative languages, because they make explicit references to the state of the execution environment. This could be anything from variables (which may correspond to processor registers) to something like the position of the "turtle" in the Logo programming language.
Often, the terms "procedural programming" and "imperative programming" are used synonymously. However, procedural programming relies heavily on blocks and scope, whereas imperative programming as a whole may or may not have such features. As such, procedural languages generally use reserved words that act on blocks, such as if, while, and for, to implement control flow, whereas non-structured imperative languages use goto statements and branch tables for the same purpose.

No comments:

VigLink badge