Este documento describe el origen de la programación orientada a objetos. Se originó en Simula 67, un lenguaje diseñado para simulaciones creado por Ole-Johan Dahl y Kristen Nygaard. Más tarde, estas ideas se refinaron en Xerox PARC y dieron lugar al primer sistema dinámico que podía crear y modificar objetos en tiempo de ejecución.