An extension to ALGOL 60 for the Univac 1107 designed in 1962 by Kristen Nygaard and Ole-Johan Dahl and implemented in 1964. SIMULA I was designed for discrete simulation. It introduced the record class, leading the way to data abstraction and object-oriented programming languages like Smalltalk. It also featured coroutines.
SIMULA's philosophy was the result of addressing the problems of describing complex systems for the purpose of simulating them. This philosophy proved to be applicable for describing complex systems generally (not just for simulation) and so SIMULA is a general-purpose object-oriented application programming language which also has very good discrete event simulation capability. Virtually all OOP products are derived in some manner from SIMULA.