History Software Engineering

Apple Swift Programming Language Invented – 2014 AD

Return to Timeline of the History of Computers

Created by Apple and released on June 2, 2014, the Swift programming language helps create programs and apps for iOSmacOS, the Apple Watch, and AppleTV.

Fair Use Sources:

History Software Engineering

Object-Oriented Programming (OOP) – 1967 AD

Return to Timeline of the History of Computers


Object-Oriented Programming

Ole-Johan Dahl (1931–2002), Kristen Nygaard (1926–2002)

“Object-oriented programming (OOP) is a software programming model constructed around objects. This model compartmentalizes data into objects (data fields) and describes object contents and behavior through the declaration of classes (methods).” (TcPd)

“The first programs did important but repetitive tasks, such as printing artillery tables, performing calculations for nuclear weapons, and cracking codes. These programs consisted of loops that executed the same mathematical functions over and over, each time with slightly different parameters. Early business computers performed similar iterative computations on business ledgers and other records, repeatedly reading data from disk, processing it, and saving the results.” (TCB)

“At the Norwegian Computing Center, professors Ole-Johan Dahl and Kristen Nygaard wanted to use their computer to simulate physical systems, in particular ship simulations, and here they found the programming languages developed to enable simple, repetitive tasks to be lacking. So they developed a new way to program and a new computer language, which they called SIMULA 67.” (TCB)

“The key idea of SIMULA was for data representing physical objects to be bundled together with the computer code for acting on that data. For example, a simulation of traffic might have a data type called CAR that might have variables for the car’s location and speed. A special function might handle the car’s behavior when it encountered a traffic light. SIMULA refers to each of these data types as a “class.” A different class called TRUCK might represent trucks. Another key idea was inheritance, which allows classes with shared characteristics to be arranged in a hierarchy. So a TRUCK and a CAR might both inherit from an abstract class called a VEHICLE, which itself might inherit from another abstract class called an OBJECT.” (TCB)

“Today, SIMULA’s style of programming is called object-oriented programming, and SIMULA 67 is recognized as the first object-oriented language. It turns out that the ideas of SIMULA were good for a whole lot more than just writing simulations: practically every modern computer language is object-oriented, including C++, Java, Python, and Go, and today object-oriented programming is the dominant way that software is written.” (TCB)

“OOP features include the following:

  • “Encapsulation: This makes the program structure easier to manage because each object’s implementation and state are hidden behind well-defined boundaries.” (TcPd)
  • “Polymorphism: This means abstract entities are implemented in multiple ways.” (TcPd)
  • “Inheritance: This refers to the hierarchical arrangement of implementation fragments.” (TcPd)

“Object-oriented programming allows for simplified programming. Its benefits include reusability, refactoring, extensibility, maintenance and efficiency.” (TcPd)

“OOP has been the programming model of choice for the last decade or more. OOP’s modular design enables programmers to build software in manageable chunks rather than in large amounts of sequential code.” (TcPd)

“One of the great benefits of OOP is that of scalability, with objects and definitions having no finite limitation. Also, the separation of data from method prevents a common problem found in older linear software languages. If a bug appears in a linear code, it can be translated through a system and create masses of hard-to-trace errors. Conversely, an OOP program, with its separation of method and data, is not susceptible to such proliferated errors.” (TcPd)

“Popular OOP languages include Java, the C-family of languages,VB.NET and Python.” (TcPd)

“So-called “pure” OOP languages include Scala, Ruby, Eiffel, JADE, Smalltalk and Emerald.” (TcPd)

SEE ALSO Programming for Children (1967), C Programming Language (1972)

Programmers create object-oriented programs by designing classes of objects that represent physical objects, processes, or arrangements of data. They then connect the objects with code.


Fair Use Sources: