Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Programming languages have changed a great deal since the first days of application development. Back in the day, procedural languages were state-of-the-art; as a matter of fact, there are still thousands of COBOL applications in use today. As time went on, coding became more efficient; and reuse, encapsulation, abstraction, and other object-oriented characteristics became fundamental keys to application development. As languages evolved, they began to incorporate the idea of using objects within programs. The Lisp language introduced some object-oriented techniques as early as the 1970s, but true object-oriented programming did not take off in full blast until the 1990s.
Object-oriented programs consist of many different pieces of code that all work together in unison. Rather than having a long list of statements and commands, an object-oriented philosophy is to break functionality up into different objects. Programming techniques such as using methods to encapsulate functionality and copying the functionality of another class began to catch on as people noticed that object orientation equated to productivity.