El lenguaje de programación que pretende imitar el método utilizado científicamente para formar modelo. Tres propiedades fundamentales caracterizan este tipo de lenguajes: combinación de estructura de dato con función dedicada a la manipulación de dato, creación de una jerarquía de clase y polimorfismo.