Monthly Archives: August 2016

A Brief History of Objects

Most modern programming languages have support for Object-Oriented programming (OOP) but the OOP journey started back in 1967 with the appearance of Simula, the first programming language to use objects and classes.

As the name suggests, Simula was designed to perform simulations. Indeed it is useful to think of OOP as a way to simulate real-world entities (objects) in software.

Most real-world entities can be represented through their state and behaviour, and this is exactly what OOP does. For instance a Person class of objects will have state properties such as name and date of birth, and behaviour (or methods) such as celebrateBirthday.

In 1972 Smalltalk, based on Simula, was created for educational purposes at Xerox and in 1980 it became the first commercial release of an OOP environment.

In 1979 Bjarne Stroustrup began working on OOP enhancements to the C programming language, and in 1985 the C++ language was born bringing OOP into mainstream software development of large-scale commercial systems.

The complexity of C++ motivated a development team at Sun Microsystems to create a pure OOP language that was cross-platform and had automatic memory management, leading to the first release of Java to be announced in 1995.

And the rest, as they say, is history.