Dahl y Nygaard diseñaron Simula 67 en el Norwegian Computing Center de Oslo, introduciendo los conceptos de clase, objeto y herencia como mecanismos de abstracción para la simulación de sistemas. Primer lenguaje en organizar el código en torno a entidades con estado y comportamiento propios, sentando las bases de la programación orientada a objetos. CLU, Smalltalk y C++ reconocen explícitamente su deuda con Simula.