Programming Languages Structured programming languages (also referred to as top-down programming languages) and object-oriented programming languages are based on different methods. Structured programming method could be described as follows. In order to solve a specific problem the problem should be broken into pieces and each piece should be processed separately. Then, as it implies solving each piece separately, each piece should be treated as a new problem that can also be broken down into smaller tasks (Structured Programming versus Object-Oriented Programming 2007).
Finally, the process should be repeated until the piece cannot be broken down into smaller problems, and the piece will be solved with no further decomposition (directly).
In contrast to structured programming, object-oriented programming identifies the objects involved in problem and the messages these objects should react or respond to. In result, the solution (instead of breaking the problem into pieces) involves a collection of objects, where each object has its own set of responsibilities and its own data. This method implies that the objects interact by messages they send to each other.
In such a way, structured programming languages do not stress data and place emphasis on functionality. Structured programming can be used in applications with few independent functions, which do not interact a lot. In contrast to object-oriented approach, structured programming can be used to solve problems where functionality is more likely to change than data (Allan, 2004).
The Essay on Machine Language
1- Machine independent languages The high level programming languages are machine independent, which means they don’t rely on specifications of a particular machine. Brookshear (2012, p.242) indicate that “Since the statements in a third-generation language did not refer to the attributes of any particular machine, they could be compiled as easily for one machine as for another”. Since ...
Instead, object-oriented programming should be more appropriate for problems where data is more likely to change than functionality, as it works better at a higher level of abstraction (i.e. designing of modules, or designing large projects).
Object-oriented languages are more flexible, as they separate program into a specific network consisting of subsystems, where each subsystem controls its own algorithms, and data..