¿Donde está esa definición "oficial" de lo que debe tener un lenguaje OO? Yo lo más que encuentro es que la gente no se pone de acuerdo más que en las carácterísticas más importantes y esa no este entre ellas:
http://es.wikipedia.org/wiki/Program...icas_de_la_POO
¿Hay algun lenguaje implementado que sea OO según la lista que mencionas? Por curiosidad por ver que tal funciona, ya que siempre queda la duda de si la "puridad" es algo deseable o no.
En cuanto a Java, la queja más común a ese respecto que he oido es que los tipos primitivos no son objetos, lo cual rompe la regla de que todo lo es, pero vamos, para mi no es un problema
.