1.1.1 Principales Lenguajes

Características

Simula

*

Smalltalk

*

Objective

C

C++

Ada

**

Object

Pascal

Turbo

Pascal

Eiffel

*

Java

*

Ligadura

(primera o última)

Ambas Última Ambas Ambas Primera Última Primera Primera Ambas
Polimorfismo
Ocultación de datos
Concurrencia Pobre Pobre Pobre Difícil No No Prometida
Herencia No
Herencia Múltiple No No --- --- No
Recogida de residuos No
Persistencia No Prometida No No Como L3G No No Algo de Soporte
Genericidad No No No No No No
Bibliotecas de Objetos No mucho

Características de algunos Lenguajes de Programación a Objetos

* Auténticos lenguajes orientados a objetos
** Lenguajes basados en objetos
Otros son extensiones de lenguajes convencionales

 

Como se aprecia en la tabla todos los lenguajes proporcionan polimorfismo y ocultación de datos. Sin embargo, muchos de ellos no proporcionan facilidades para concurrencia, persistencia y genericidad. Eiffel, Ada y C++ proporcionan facilidad genérica, la cual es una construcción importante para soportar reutilización. Sin embargo, persistencia (un proceso de almacenamiento de objetos) no está totalmente soportada por ninguno de ellos.

En Smalltalk, aunque se puede grabar en disco todo el estado actual de ejecución, aún los objetos individuales no se pueden almacenar en un archivo externo.
Comercialmente, C++ tiene solo 10 años de antigüedad, Smalltalk y Objetive C 13 años y Java sólo 5 años. Aunque Simula ha existido durante más de dos décadas, ha pasado la mayor parte de su vida en un entorno de investigación. Sin embargo, el campo es tan reciente que no debería ser juzgado tan severamente.
El uso de un lenguaje concreto depende de las características y requisitos de una aplicación, del impacto de la elección en la organización y de la reutilización de los programas existentes.