Dos correos electrónicos enviados por Alan Kay —aclamado coinador del término «object-oriented programming»— a Stefan Ram en julio de 2003 arrojan luz sobre el sentido original de la orientación a objetos. En el primero, fechado el 23 de julio, Kay sitúa la primera mención pública del concepto hacia 1967, en la Universidad de Utah, tras combinar influencias de Sketchpad, Simula, el diseño de ARPAnet, el Burroughs B5000 y su formación en biología y matemáticas. Su visión partía de objetos concebidos como células biológicas o computadores en red que solo se comunican mediante mensajes, una idea concebida antes de saber implementarla eficientemente en un lenguaje. También buscaba eliminar la distinción rígida entre datos y procedimientos: el dato se reinterpretaría como otro tipo de mensaje. Kay rechazó la herencia tal como la planteaba Simula y acuñó el término «genericity» para los comportamientos genéricos; el de «polymorphism» lo atribuye, impuesto más tarde, a Peter Wegner. Definió la OOP como «solo mensajería, retención local, protección y ocultación del estado-proceso, y enlace extremadamente tardío de todo», realizable en Smalltalk o LISP.
En el segundo mensaje, del 26 de julio, Kay distingue dos corrientes surgidas de Simula: una, la suya propia, centrada en objetos sin datos como células biológicas; la otra, los tipos abstractos de datos, adoptada masivamente por la informática académica. Kay cita a Carl Hewitt, Dave Reed y otros miembros de la comunidad ARPA como defensores de la primera vía, y lamenta la persistencia de la llamada a procedimiento remoto como sucedáneo empobrecido del paso de mensajes entre objetos.
