Alan Kay potrebbe aver creato il termine, ma la programmazione orientata agli oggetti non ha avuto origine con Smalltalk; è nato con Simula, una variante ALGOL con classi e molti dei concetti che consideriamo oggi sono i principi OOP di base, tra cui ereditarietà e metodi virtuali (polimorfismo).
L'incapsulamento (privato, protetto, pubblico) non era nella Simula originale, ma è stato aggiunto al TOPS-10 versione, e in seguito è stata integrata in Simula 87. Da lì, questi concetti chiave si sono diffusi al resto del mondo orientato agli oggetti.
Per tutti i discorsi di Alan Kay sull'invenzione di OOP, lo stile di Simula ha avuto successo. OOP Smalltalk-style ha fallito largamente nel mercato delle idee ovunque e ogni volta che è stato introdotto, con una notevole eccezione. Objective-C utilizza OOP in stile Smalltalk, e ha riscontrato un buon successo in iOS, perché Apple ha costruito l'intera API attorno ad esso e quindi lo ha spinto verso la gola dei loro sviluppatori. Al di fuori dell'ecosistema Apple, però, Objective-C è usato come qualsiasi altra implementazione di passaggio OOP-by-message.