Old programming languages, such as Assembly or FORTRAN, are not object-oriented languages. Instead, these are procedural programming languages, languages in which a program is written in one long procedure. The data and the logic are coupled together in one place and a program contains a list of routines or subroutines to instruct the computer step by step. This approach is also known as a top-down approach, because instructions are executed one after the other. Procedural programming comes with a number of drawbacks:
- There is no information-hiding mechanism; data is exposed to the whole system
- Data and functions are stored in separate memory locations
- It is difficult to map real-world objects
- The code cannot be reused; each module or instruction set requires its own tightly coupled routine
- The code cannot be extended; it is difficult to...