Almost all modern software programs are built on the concept of Object Oriented Programming (OOP) .
The idea of OOP was that lines of code or data sets that were used to performed specific tasks could be defined as self-contained "objects". As such, they could be utilized multiple times by multiple programs by simply referring to them by name.
Alan developed this concept based on a software language called Simula .
Ward Cunningham, Kent Beck and others were influential in further empowering the potential of OOP by integrating the concept of Pattern Languages.
By looking at these objects in patterned relationship to each other, developers could begin to leveraging not only the individual code objects, but the way in which these objects related to one another, significantly increasing the speed of development.