UNIDAD 05: EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN ORIENTADA A OBJETOS.
ESQUEMA:
CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN:
LENGUAJE DE BAJO NIVEL:
Lenguaje de 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 maquina varía dependiendo del hardware y evoluciona con cada versión
del CHIP cuando se habla del lenguaje maquina en el IBM PC y compatibles se
habla principalmente de la familia de procesadores Intel 80Xx y de su evolución hasta el actual core
En cada versión del CHIP Intel se han agregado nuevas funcionalidades
pero Intel siempre ha tratado de mantener la compatibilidad con las versiones
anteriores, por lo que se habla de que un programa es compatible con la familia
x86.
La principal ventana del lenguaje maquina es su alta velocidad, debida
a la traducción inmediata de los códigos
binarios. Entre sus muchas debilidades
encontramos:
Codificación Compleja: El programador debe entender el significado de
los unos y ceros y tener tablas de instrucción tiene 64 unos y ceros. Lo cual
es muy difícil de controlar.
Errores en la codificación y depuración compleja: debido a la
complejidad de los códigos .
Productividad mínima: tiempo de desarrollo muy alto.
No portabilidad: un programa solo funciona solo por hardware para el
que es hecho.
Lenguaje ensamblador: son una representación más entendible por el
humano de los códigos del lenguaje maquina .Cada instrucción en lenguaje
ensamblador representa una instrucción en el lenguaje maquina. El lenguaje
ensamblador aparece asi a la par con el lenguaje maquina, esto debido a que los
fabricantes de hardware diseñan sus chips ya en las instrucciones de un
lenguaje de ensamblado.
Un ejemplo de una instrucción en lenguaje maquina y en lenguaje
ensamblador.
Lenguaje
Maquina
|
Lenguaje
Ensamblador
|
0010111000000001
0000000000001010
|
Mov ax,10
|
A Pesar de que el lenguaje ensamblador es más fácil de entender por las
personas sigue teniendo las desventajas del lenguaje de máquina. Realmente lo
que se hace es una ayuda un poco a que el código sea más legible. El lenguaje
ensamblador adicionalmente necesita un traductor (Ensamblador) Copas de
convertir dichos códigos del lenguaje maquina.
Ejemplo de ensamblador: TASM (Turbo Assembler de Borland), MASM (Microsoft
Macro Assembler), NASM (NetWare Assembler –Libre).
Lenguaje de alto nivel: Son lenguajes más afines con el programador en
los que una instrucción puede representar barias instrucciones en el lenguaje
maquina. Incluye los lenguajes estructurados y no estructurados. Como ejemplo
tenemos Basic, Pascal, C, APL, FORTRAN (Aplicaciones científicas), COBOL (para
aplicaciones de procesamiento de datos), LISP Y PROLOG (Para inteligencia artificial),
etc.
El lenguaje de alto nivel necesita de un traductor que puede ser
interpretador o compilador. Los interpretadores o interpretes, necesita de un
programa auxiliar que produce en tiempo real las instrucción al lenguaje
maquina, por lo tanto, cada vez que un programa interpretado se ejecuta debe
ejecutarse también su intérprete. Ejemplo del lenguaje interpretado. Basic, PROLOG,
LISP, Entre otros.
Los lenguajes compilados son aquellos que necesitan de un compilador
para la traducción de lenguaje maquina. La
traducción o compilación se hace solo una vez, y el resultado es un
código objeto entendible por la maquina. Para ejecutar un programa compilado no se necesita de un
compilador. Ejemplo del lenguaje compilado: Pascal, c, frontran, cobol, Modula,-2 (evolución del pascal), etc.
ALGUNAS CARACTERISTICAS DE LOS LENGUAJES DE ALTO NIVEL:
Depuración
más sencilla: Debido a que el código es más
legible la depuración también se hace más fácil. Con la ayuda editores (IDEs –
Entornos de Desarrollo Integrados) La compilación, depuración y ejecución se
hacen más fácilmente.
Productividad
aceptable: Son más productivos que los lenguajes de alto nivel.
Algunos
permiten la portabilidad: Generalmente los interpretados.
Los lenguajes de programación orientada a objetos tratan a los
programas como con conjuntos de objetos
que se ayudan entre ellos para realizar acciones. Entendiendo como objeto al
entidades que contienen datos. Permitiendo que los programas sean más fáciles
de escribir, mantener y reutilizar.
Los objetos tienen toda la información (atributos) que los diferentes
de otros permanecientes a otra clase.
Por medio de unos métodos se comunican los objetos de una misma o diferente
clase produciendo el cambio de estado de los objetos. Esto se hace que a los
objetos se les trate como unidades indivisibles
en las que no se separan la información ni los métodos usados en su
tratamiento.
Los lenguajes de operación orientadas a objetos son lenguajes dinámicos
en los que estos objetos se pueden crear y modificar sobre la marcha. Esta programación orientada a objetos
(poo) tomo auge a mediados de los años
ochenta debido a la propagación de las
interfaces graficas de usuarios para lo que los lenguajes de programación orientados a objetos están especialmente
dotados.
Los principales lenguajes de programación orientada son:
Ada, c++, c#, VB, NET, clarión, delphi, Eiffel, java, léxico (en castellano), objetive –c,
ocaml, oz, PHP, powerbuider, python, ruby y smalltalk.
No todos estos lenguajes de programación orientados a objetos son específicamente orientados a
objetos. Sino que alguno de ellos se le ha añadido extensiones orientadas a
objetos.
TAXONOMÍA DE LOS LENGUAJES ORIENTADOS A OBJETOS:
Una clasificación para los lenguajes de
programación con respecto a la
orientación a objetos fue creada por Wagner , dicha clasificación se constituye
de la siguiente forma.
Basados en
objetos
|
Basado en clases
|
Orientación a
objetos
|
Si la sintaxis y
semántica de lenguaje soportan las características de objetos que hemos
mencionado
|
Si un lenguaje está basado en
objetos y además soporta clases, se
dice que está basado en clases.
|
Si un lenguaje de programación
soporta objetos clases y además permite la jerarquía de dichas clases
entonces se dice que es un lenguaje de programación orientada a objetos.
|
CARACTERÍSTICAS DE LOS LENGUAJES ORIENTADOS A OBJETOS:
Tres son las características de un lenguaje orientado a objeto, es decir
se considera que un lenguaje está
totalmente orientado a objetos si es capaz de proveer estas tres
características.
Encapsulado
Herencia
Polimorfismo
Veamos
una pequeña descripción de cada una de ellas y después las ampliaremos pera
comprender mejor su significado y como puede ayudarnos a crear aplicaciones que
provechen todas las posibilidades que nos da la POO.
ENCAPSULADO:
Es
la cantidad de unificar los datos y la forma de manipulación de esta forma
podemos ocultar el funcionamiento de una
clase y exponer solo los datos que manipula mediante propiedades así como proveer de medios para poder manipular dichos datos
(mediante métodos ) de esta manera 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 (o tipo) basadas en otras clases de forma que la nueva clase obtenga
todas las características de la clase que heredado tanto los datos que
contienen como una forma de manipularlos pudiendo añadir nuevas características
e incluso cambiar el comportamiento de algunas de las incluidas en la clase
base.(siempre que así se haya previsto) mediante la herencia podemos crear de forma fácil una jerarquía de clases
que los comparten un mismo comportamiento básico pero que cada nueva generación
pueda tener (y de hecho tiene) un nuevo comportamiento.
POLIMORFISMO:
Es la cualidad de implementar de forma particular alguna de las
características que tienen la clases, de forma que cuando necesitamos usarlas
no nos preocupa la implementación interna que cada una tenga lo que realmente
nos interesa o nos debe de importar es que podemos usar esas características e
incluso podemos acceder a ellas de forma anónima.
0 comentarios:
Publicar un comentario