There are two approaches of program development. They are Procedure Oriented Programming and Object-Oriented Programming. Procedure Oriented Programming is a conventional method of programming and the Object-Oriented Programming is a modern or latest programming method.

Procedural Programming

Procedural Programming can be defined as a programming model which is derived from structured programming, based upon the concept of calling procedure. Procedures, also known as routines, subroutines or functions, simply consist of a series of computational steps to be carried out. During a program's execution, any given procedure might be called at any point, including by other procedures or itself.

Features of POP

The characteristics or features are as follow: a) A large program is broken down into small programs or procedures. b) It focuses on the functions rather than the data. c) Variables are created as local and global. d) The possibility of data alteration is very high, which is the main disadvantage of this approach. e) It follows top down method.

Languages used in Procedural Programming: C, Pascal, Fortran, BASIC etc.

Object-Oriented Programming

Object-oriented programming can be defined as a programming model which is based upon the concept of objects. Objects contain data in the form of attributes and code in the form of methods. In object-oriented programming, computer programs are designed using the concept of objects that interact with the real world. Object-oriented programming languages are various but the most popular ones are class-based, meaning that objects are instances of classes, which also determine their types.

Features of OOP

a) Emphasis is given to the data. b) Program are divided into multiple objects. c) Functions and data are tied together in a single unit. d) Data can be hidden to prevent accidental alteration. e) It follows the bottom up approach.

Languages used in Object-Oriented Programming:

Java, C++, C#, Python,

PHP, JavaScript, Ruby, Perl,

Objective-C, Dart, Swift, Scala.

Procedural Programming vs Object-Oriented Programming

Below are some of the differences between procedural and object-oriented programming:

Procedure-Oriented Programming (POP) Object-Oriented Programming (OOP)
1. Emphasis is given to procedures. 1. Emphasis is given to data.
2. Programs are divided into multiple modules. 2. Programs are divided into multiple objects.
3. It follows the top-down approach. 3. It follows the bottom-up approach.
4. Generally, data cannot be hidden. 4. Data can be hidden using encapsulation.
5. Does not model the real world perfectly. 5. Models the real world more accurately.
6. Maintenance is difficult. 6. Maintenance is easier.
7. Code reusability is difficult. 7. Code reusability is easier.
8. Examples: FORTRAN, COBOL, Pascal, C. 8. Examples: C++, Java, Smalltalk, etc.

Advantages & Disadvantages of OOP

Advantages: a) Code repetition is reduced by the various techniques like inheritance. b) Data is more secure due to the data hiding feature called abstraction. c) Existing classes can serve as library class for further enhancements. d) Division of a program into multiple objects makes the software development easier. e) Software complexity is less. f) Upgrading and maintenance of software is easy. g) It perfectly models the real world system. h) Code re-usability is much easier than the conventional programming system.