Procedure-Oriented Programming is the traditional way of programming, where an application problem is viewed as a sequence of steps (algorithms). As per the algorithm, the problem is broken down into many modules (functions) such as data entry, reporting, querying modules, etc. as shown in the figure. There are two types of data, which are associated with these modules- one is global and another is local data. Global data items are defined in the main program, whereas local data is defined within associated functions. Many of the functions share global data, as this kind of data is available to all functions. Procedure-oriented programming is the conventional approach of programming for developing application software. High-level languages like COBOL, Pascal, BASIC, Fortran, C, etc. are based on a procedure-oriented approach and hence are also called procedural languages.
Advantages of Procedure-Oriented Programming:
The main advantages of procedure-oriented programming are as follows-
- It is easy to port programs as compilers for procedural languages are easily available.
- It is easier to learn procedure-oriented programming as compared to the other new ways of programming.
Disadvantages of Procedure-Oriented Programming:
Although procedure-oriented programming is the conventional approach of programming, it has certain drawbacks. The main disadvantages of this approach are as follows:
- As most of the functions share global data, this data is freely available to all functions. Although this freely available data is easily accessed by any function, it can create certain problems. When a new function is written for analyzing this data in a different way it is possible that data may be changed accidentally or deliberately. Therefore, there is no security of data in procedure-oriented programming.
- Another problem is that whenever data structure is required to be changed, all the functions using that data must also be changed. So, procedure-oriented programming 9especially for complex applications) are extremely difficult to modify and maintain.
- Procedure-oriented programming does not model the real-world problem.