Introducción
En
esta sección se describirá brevemente cómo han evolucionado los lenguajes de
programación desde el lenguaje de máquina y ensamblador hasta los lenguajes
estructurados y orientados a objetos. Se presentan las limitaciones principales
del lenguaje de máquina y algunos ejemplos de lenguaje ensamblador.
Clasificación.
Clasificación
de los lenguajes de programación:
Lenguaje
de bajo nivel.
Lenguaje maquina.
Es
el lenguaje que entiende el procesador y está basado en el sistema binario.
Está formado por un conjunto de instrucciones o códigos que pueden ser
interpretados directamente por el procesador. El lenguaje de maquina varía
dependiendo del hardware y evoluciona con cada versión del chip.
Taxonomía
Una
clasificación para los lenguajes de programación con respecto a la orientado a
objetos fue creado por wegner, dicha clasificación se constituye de la
siguiente forma.
Características
Tres
son las principales características de
un lenguaje orientado a objetos, es decir; se considera que un lenguaje está totalmente
orientado a objetos si es capaz de proveer estas tres características:
Ø Encapsulación
Ø Herencia
Ø Polimorfismo
Ø La
encapsulación
Es
la cualidad de unificar los datos y la forma de manipularlos, de esta forma
podemos ocultar el funcionamiento de una clase y exponer solo los datos que
manipula, así como proveer de medios para poder manipular dichos dato. De esta
forma solo exponemos al mundo exterior la información y la forma de
manipularla, ocultando los detalles usados para manejar esos datos y, lo que es
más importante, evitando que nadie manipule de una forma no controlada dicha
información.
Herencia
Es
la cualidad de poder crear nuevas clases basadas en otras clases, de forma que
la nueva clase obtenga toda las características de la clase que ha heredado,
tanto los datos que contiene como la forma de manipularlos, pudiendo añadir
nuevas características e incluso cambiar el comportamiento de algunas de las
incluidas en la clase base. Mediando la herencia podemos crear de forma fácil
una jerarquía de clases que comparten un mismo comportamiento básico pero cada
nueva generación puede tener un nuevo comportamiento.
Polimorfismo
Es
la cualidad de implementar de forma particular algunas de las características
que tienen las clases, de forma que cuando necesitemos usarlas no nos preocupe
la implementación interna que cada una tenga, lo que realmente nos interesa o
nos debe de importar es que podamos usar
esas características e incluso podamos acceder a ellas de forma anónima.