Rss Feed
  1. UNIDAD 05: EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN 
    ORIENTADA A OBJETOS


    EVOLUCIÓN DE LOS LENGUAJES PROGRAMACIÓN








    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 (Bajo Nivel) hasta los lenguajes estructurados y
    orientados a objetos (Alto Nivel). Se presentan las limitaciones principales del lenguaje máquina y algunos ejemplos de lenguaje ensamblador.



    En el siguiente nivel se encuentran los lenguajes de alto nivel que solventan muchas de las debilidades de los lenguajes de bajo nivel pero que aún tienen limitaciones. Después se abordan los lenguajes de programación Orientados a Objetos, exponiendo sus características, taxonomía y ejemplos de los principales lenguajes de programación ubicados en esta categoría de los cuales

    algunos son Orientados a Objetos y otros tan solo han incorporado algunas de las características de la orientación a objetos. Esto primer acercamiento será meramente teórico, pero en este nivel del curso ya has desarrollado la lógica estructurada y puedes empezar a experimentar con lenguajes de programación y olvidarte un poco del pseudocódigo. Con la culminación de esta unidad el estudiante tendrá las bases para interactuar con un lenguaje de programación y aplicar los conocimientos adquiridos en la lógica estructurada en su primer acercamiento a un lenguaje de programación específico siendo responsable en el desarrollo de programas que

    busquen   solución   a   problemas.   Demostrará   responsabilidad,   creatividad, innovación, comprensión y colaboración con su equipo de trabajo.


    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 máquina valia dependiendo del hardware evoluciona con cada
    versión del CHIP. Cuando se habla a del lenguaje máquina 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 ventaja 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 instrucciones y variables. En los procesadores actuales de 64bits, por
    Ejemplo, una 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: tiempos de desarrollo muy altos

    No portabilidad: un programa solo funciona sobre el hardware para el que es hecho.

    Lenguaje Ensamblador

    Son una representación más entendible para el humano de los códigos del lenguaje máquina. Cada LENGUAJE ENSAMBLADOR: aparece casi a la par con el lenguaje máquina, esto debido a que los
    fabricantes de hardware diseñan sus Chips pensando ya en las instrucciones de un lenguaje de ensamblado.

    Un ejemplo de una instrucción en lenguaje máquina y en lenguaje ensamblador:

    Lenguaje Máquina
    Lenguaje Ensamblador
    1 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 hace es ayudar un poco a que el código sea más legible, el lenguaje ensamblador adicionalmente necesita un traductor {ensamblador} capaz de convertir dichos códigos en lenguaje máquina .

    Ejemplos de ensambladores: TASM (Turbo Assembler de Borland),  MASM (Microsoft Macro Assembler), NASM (Netwide Assembier - Libre).

    Lenguaje de Alto nivel.
    Son lenguajes más afines coa el programador en tos que una instrucción puede representar varías instrucciones en lenguaje máquina. Incluyen los lenguajes estructurados y no estructurados. Como ejemplos tenemos: Basic, Pascal, C, API, FORTRAN (Aplicaciones Científicas), COBOL (para aplicaciones de procesamiento de datos), LISP Y PROLOG (para inteligencia Artificial), etc.

    Los lenguajes de alto nivel necesitan de un traductor que puede ser interpretador o compilador. Los interpretadores o intérpretes, necesitan de un programa auxiliar que traduce en tiempo real las instrucciones al lenguaje máquina, por lo tanto, cada vez que un programa interpretado se ejecuta ejecutarse también su interprete, ejemplos Je lenguajes interpretados. Basic,
    PROLOG, LISP, entre otros.

    Los lenguajes compilados son aquellos que necesitan de un compilador para la traducción al lenguaje máquina. La traducción o compilación se hace solo una vez, y el resultado es un código
    objeto entendible por la máquina. Para ejecutar un programa compilado no se necesita de su
    compilador. Ejemplos de lenguajes compilados: Pascal, C, Fortran, Cobol, Modula-2 (evolución del Pascal), etc.

    ALGUNAS DE LAS CARACTERÍSTICAS 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.

    LENGUAJES DE PROGRAMACIÓN ORIENTADA A OBJETOS

    Los lenguajes de programación orientados a objetos tratan a los programas como 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 diferencia de otros pertenecientes 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 hace que a los objetos se íes trace como unidades indivisibles en las que no se separan la información ni los métodos usados en su tratamiento.

    Los lenguajes de programación orientados a objetos tienen su origen en un lenguaje que fue diseñado por los profesores Ole-Johan Dahl y Kristen Nygaard en Noruega. Este lenguaje de programación orientado a objetos fue el "Simula 67" fue un lenguaje creado para hacer simulaciones de naves.

    Los lenguajes de programació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 ala propagación de las interfaces gráficas de usuarios, para lo que los lenguajes de programación orientados a objetos están especialmente dotados.

    Los principales lenguajes de programación orientados a objetos son:
    Ada, C++, C#, VB,NET, Clarion, Delphi, Eiffel, Java, Léxico (en castellano), Objective-C, Ocamf, Oz, PHP, PowerBuilder, Python, Ruby y Smalltalk.

    No todos estos lenguajes de programación orientados a objetos son específicamente orientados aobjetos. Sino que algunos de ellos se le han añadido extensiones orientadas a objetos.

    TAXONOMÍA DE LOS LENGUAJES ORIENTADOS A OBJETOS

    Una dosificación para los Lenguajes de programación con respecto a la orientación a objetos fue creada por Wegner, dicha clasificación se constituye de la siguiente forma:


    Basados en objetos

    Basados 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   orientado a
    objetos.

  2. 0 comentarios:

    Publicar un comentario