Simula Language

The name of 2 programming languages, designed one after the other in Norway, to meet different goals: Simula I and Simula 67. It wasn't a matter of a change in the regime, but of changes in programming culture and advances in the programming technology, which encouraged the existing regime to broaden its goals.

Holmevik (1995) describes Simula I as not being a general-purpose programming language:

As heralded by Nygaard at the IFIP-62 World Congress and further evidenced by the SIMULA manual of May 1965, SIMULA I was a special-purpose language geared toward operations research problems. The 1960s saw an enormous proliferation of these so-called special-purpose languages. This can be understood partly as a function of the changing perceptions about the computer itself as I argued earlier [...]. Since the computer increasingly came to be seen as general- purpose device, special-purpose software took over the function of configuring it for specialized application areas like simulation, for example.

Simula 67 (now just known as Simula, as Simula I is not in use) was the first Object Oriented Programming language (Dahl & Nygaard n.d.). It provided objects, classes, inheritance, and dynamic typing in 1967. It was created as an extension of Algol Sixty by Ole Johan Dahl and Kristen Nygaard (Turing Award 2001).

One of the better sites for information on Simula is at the Université de Montréal, where according to Vaucher (as updated Jan. 2000), they "had been using Simula in simulation courses since 1970 when we found it bundled on our CDC computer. Simula was also used for the main case study in our advanced OS course." But "we thought Simula too exotic to use for basic programming; however, the recent OO craze (early 90's) made us re-evaluate OO languages (including Simula) for teaching. To our surprise, Simula turned out to be head and shoulders better than the competition in terms of simplicity, power, security and stability", although as a technical issue, "we did find it weak in [...] interactive graphics". In 1994--1998, they taught "Simula as the basic language to teach programming. [....] Since then, our department got overwhelmed by the Java Tidal Wave".

There is a language called BETA which is a direct descendent of Simula:

BETA is a modern object-oriented language from the Scandinavian school of object-orientation where the first object-oriented language Simula [DMN70] was developed. BETA supports the object-oriented perspective on programming and contains comprehensive facilities for procedural and functional programming. BETA has powerful abstraction mechanisms for supporting identification of objects, classification and composition. BETA is a strongly typed language like Simula, Eiffel [Mey88] and C++ [Str86a], with most type checking being carried out at compiletime. It is well known that it is not possible to obtain all type checking at compile time without sacrificing the expressiveness of the language. BETA has an optimum balance between compiletime type checking and runtime type checking. (1993 abstract)

References

Ole Johan Dahl & Kristen Nygaard (no date): "How Object-Oriented Programming Started". Dept. of Informatics, University of Oslo. Authors' note describes it as "an abbreviated version of an article requested by an encyclopedia some years ago". Previously accessible as www.ifi.uio.no (now Broken Link, undated); still accessible as web.archive.org (as of 2014-10-17). Kristen Nygaard passed away on August 9th 2002.

DAIMI (no date): Dept. of Computer Science, University of Aarhus (acronym possibly related to its name in Danish: Datalogisk Institut, Aarhus Universitet). Accessible as www.daimi.au.dk (as of 2014-10-17).

Jan Rune Holmevik 1995: "The History of Simula" (apparently a "chapter" extracted from a "thesis": "a socio-technical analysis where the main concern is to investigate the heterogeneity of technological genesis"). Previously accessible as java.sun.com (now Broken Link 1/1/04 [2004-01-01?]); still accessible as web.archive.org (as of 2014-10-17).

Ole Lehrmann Madsen 1993: "Overview of the BETA Programming Language". Computer Science Dept., Aarhus University (Denmark). Accessible as a PDF: www.daimi.au.dk (59 KB). A chapter in Ole Lehrmann Madsen, Birger Møller-Pedersen, Kristen Nygaard 1993: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley. ISBN 0-201-62430-3, 350 pp. Reprinted by Mjølner Informatics with permission from Addison-Wesley, and accessible as a PDF: www.daimi.au.dk (926 KB).

Jean G. Vaucher (updated Jan. 2000): "DIRO Simula home". Département d'informatique et recherche opérationnelle (Dept. of Informatics and Operations Research), Université de Montréal. BETA content previously accessible as epsom.jsp.umontreal.ca/~simula/beta.html (Broken Link as of 2003-10-07); possibly same as what's now accessible as www.iro.umontreal.ca (not broken, but 2 of its 3 links to nonexistent domain "aau.dk" are).


Extensively revised, creating a "References" section in particular, and restructuring in general, for the overdue technical diversion of playing Wiki Gnome. --Clay Phipps, 2014-10-17


See original on c2.com