La programación orientada a objetos tuvo su origen en el lenguaje Simula 67, creado en Oslo para simulaciones. Se refinó en Smalltalk y se desarrolló en Simula en Xerox PARC, convirtiéndose en el estilo de programación dominante a mediados de los años 80. Los principios de la POO incluyen la abstracción, encapsulamiento, herencia y polimorfismo.