"In the spring of 1967, a new employee of the Norwegian Computing Center in a very shocked voice told the switchboard operator: 'Two men are fighting violently in front of the blackboard in the upstairs corridor. What shall we do?' The operator came out of the office, listened for a few seconds and then said: 'Relax, it's only Dahl and Nygaard discussing SIMULA."


The SIMULA programming language was created by Kristen Nygaard and Ole-Johan Dahl. The idea for the language began in 1961, when Nygraad had an idea for a simulation language. That is, SIMULA was created to be a discrete event simulation language. A language that could, for example, be used to simulate an airport departure area, or a the work flow of a factory; a language that would be of interest to people in operations research, of which Nygraad was one.

Nygaard determined that he was not competent enough in programming languages to do it alone, and conscripted Dahl as the "expert programmer" for the project. In 1965, with the support of the Norwegian Computing Center and Univac, the first SIMULA compiler was born.

SIMULA I was successful in that it was very useful, and many people actually used it. This was thanks in part to advocacy from leaders in the field like Donald Knuth. It was the next SIMULA version though, SIMULA 67, that would leave a lasting mark in computer science.

SIMULA 67, contrary to what might be expected from the name, was not merely a simulation language. It was, in fact, a full general programming language that had a simulation environment as part of its library.

As a language, SIMULA was heavily influenced by ALGOL, especially ALGOL's block structure, and the distinction that ALGOL made between a block of text, and its dynamic instance of it. SIMULA expanded and generalized this block form and called it a class. The dynamic instance of a class was given the name object. Further, SIMULA, found a way to have a block inside the environment of another without having it be textually nested in the source code. This "nested" block was called a subclass.

SIMULA 67, while it was popular as a simulation language, did not become a very popular general purpose programming language. Perhaps this is due to the original authors' decision of keeping the name SIMULA. But also perhaps because SIMULA was surpassed by other languages who had taken SIMULA's lessons to heart, languages like Smalltalk. Nevertheless, SIMULA and its creators have a place in history as having introduced the world to object oriented programming.


References:
Kristen Nygraad, Ole-Johan Dahl, The Development of the SIMULA Languages, History of Programming Languages, 1981.
P. Wegner, Programming Languages -- the First 25 years, Programming Languages, a Grand Tour, 2nd Ed., E. Horowitz, ed. Computer Science Press, 1985.