At a high-level, see the below differences between procedural and object-oriented programming.
|Procedural Programming||Object-Oriented Programming|
|The Procedural programming is a programming paradigm that divides the problem into logical modules that are procedures/functions, which are a sequence of steps.||The Object-oriented programming is a programming paradigm that focuses on the abstraction and real world objects.|
|In this, procedure /functions and data are separated.||In OOP, the data and the methods are bound together as classes/objects.|
|In this, some level of re-usability and modularity can be achieved.||OO programming follows certain principles: Abstraction, Encapsulation, Inheritance, Polymorphism, and benefits more reusability, modularity, and pluggability.|
|In procedural, it might raise more runtime errors and difficult to maintain the large code.||The OOP is, in general, to address the issues with procedural programming, also have fewer runtime errors and easy to maintain the large code.|
|Example languages: BASIC, C, Pascal etc.||Example languages: Java, C++ etc.|