Object-oriented (OO) programming is such an important concept in software development today that it’s hard imagine a time before it existed. Of course, it had to start sometime somewhere by somebody and, in this case, it was a couple of computer scientists in Norway in the mid-1960s who developed the modern OO-concepts and the first object-oriented programming language. Today, you can now get a look at one of the very first examples of object-oriented code that they wrote.
First, though, some quick history. The first programming language to use object-oriented concepts, as we know them today, is generally accepted to be Simula 67, developed by Kristen Nygaard and Ole-Johan Dahl of the Norwegian Computing Center in 1967. Simula 67 introduced, among other things, the concepts of classes, objects, subclasses and inheritance that OO languages still use today.
Before Simula 67, however, Nygaard and Dahl first wrote an earlier version of the language, called Simula I in 1964. Simula I was created as an extension of Algol 60 for UNIVAC, to be an event simulation language. While Simula I didn’t use the terms "object"and "class" or have support for subclasses or inheritance, it did have some OO-like properties. For example, it supported things called processes, which were effectively objects, and activities, which were basically classes. So, in a sense, Simula I can be viewed as the first object-oriented language.
When Simula I was first created, it was applied to a number of different projects, including the arrangement of cranes on a job site, optimizing the production systems for a paper mill and simulating harbors. Recently, a program from one of these first applications has come to light.
Amund Tveit, a Norwegian computer scientist, got a look at a technical report written by Kristen Nygaard in 1965 titled “SIMULA EXAMPLE NR 1: AIRPORT DEPARTURE SYSTEM.” The report contains the code for a Simula program to simulate an airport ticket-counter system, as well as the output from simulations run on a UNIVAC 1107 computer. Tveit shot a video of some pages from the report, including the ones containing the program code, which I’ve embedded at the top of this post.
Tveit calls this code the first object-oriented program written and published. We don’t know if this was the very first Simula I program written, but it’s clearly one of the first, and it may well be the oldest program using OO-concepts that still exists (you can see examples of activities, progenitors to classes, in the code). In any case, it’s clearly a piece of programming history, and should be of interest to developers.
I haven’t been able to find the report, or the code, online in text format. So, if you’re particularly keen to get your hands on this code, and you have good eyesight and some patience, you could transcribe it from Tveit's video. If you do, be sure to share it with the rest of us!
Read more of Phil Johnson's #Tech blog and follow the latest IT news at ITworld. Follow Phil on Twitter at @itwphiljohnson. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.