The resulting program is a series of steps that forms a hierarchy of calls to its constituent procedures.
The first major procedural programming languages appeared c. 1957–1964, including Fortran, ALGOL, COBOL, PL/I and BASIC.
Hardware support for other types of programming is possible, like Lisp machines or Java processors, but no attempt was commercially successful.
Modularity is about organizing the procedures of a program into separate modules—each of which has a specific and understandable purpose.
[3] Some OOP languages support the class concept which allows for creating an object based on a definition.
From this point of view, logic programs are declarative, focusing on what the problem is, rather than on how to solve it.