Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Evolución de los lenguajes de programación ¿Por qué cambiarse a la Programación Orientada a Objetos?



Partes: 1, 2

    1. Abstract
    2. Evolución de los Lenguajes
      de Programación
    3. Programación
      Orientada a Objetos
    4. Internet
      y los nuevos requerimientos del software
    5. Conclusiones
    6. Referencias

    Abstract

    Cada vez más, los lenguajes de
    programación tienden representar un modelo del
    mundo basándose en elementos que se alejan de la
    máquina y se acercan al humano. En los extremos
    encontramos el lenguaje puro
    de la máquina y la Programación
    Orientada a Objetos. Los lenguajes de alto nivel procedurales
    (Pascal, C)
    ganaron confianza entre los programadores para quienes, de no
    existir un impulso hacia la POO, no hallaban la necesidad de
    cambiarse. Este artículo muestra la
    evolución de los lenguajes a través
    del tiempo a la
    par con las tecnologías que influyen en el desarrollo de
    software, y
    cómo esas tecnologías hacen que la POO se mantenga
    como el paradigma de
    programación más usado en a
    actualidad.

    1.
    Introducción

    Este articulo está dirigido principalmente a
    aquellas personas que se iniciaron en el mundo de la
    programación con lenguajes de tercera generación
    como Pascal y C. Lenguajes de alto nivel y estructurados que
    hacían de la programación procedural toda un
    arte. Me
    refiero específicamente a los compiladores
    Turbo de Borland que corrían sobre el sistema operativo
    DOS. Para aquellos programadores, donde cada problema se
    convertía en un reto por resolver, y a los que el lenguaje
    les respondía de forma excelente. Para aquellos
    programadores que ven la programación como un arte, como
    un reto, y que la toman con pasión, para los que no
    había nada difícil y todo lo podían resolver
    tan solo con un compilador clásico de C o Pascal. El
    artículo quiere mostrar, por qué esos lenguajes se
    quedan cortos ante los requerimientos de software actuales y por
    que es necesario cambiarse a la POO.

    Es muy seguro, que
    alguien que aprendió C o Pascal a fondo, conoce
    también del lenguaje de ensamblado o ensamblador, y
    por que no hasta del lenguaje de la máquina. Esto, porque
    algunas aplicaciones que necesitaban mucho más control sobre la
    máquina o necesitaban usar recursos del
    sistema operativo
    requerían de la mezcla del lenguaje de alto nivel con
    lenguaje
    ensamblador, y con esa mezcla, el programador terminaba
    conociendo más a fondo el funcionamiento del PC, y
    podía lograr hazañas muy interesantes.

    Con la aparición de Object Pascal y C++,
    incorporando a los lenguajes nativos elementos del paradigma
    Orientado a Objetos, muy pocos eran los programadores que
    utilizaban las nuevas características y, los que las
    utilizaban, no lo hacían de la mejor manera. La
    razón de esto, es que dichos lenguajes, permitían
    mezclar programación procedural con POO, y los programas
    terminaban siendo programas procedurales a pesar de utilizar
    elementos de POO.

    La aparición de Windows
    dejó atrás al DOS, y por lo tanto tenían que
    aparecer lenguajes para el nuevo sistema operativo. Los nuevos
    lenguajes visuales insistían un poco más en la POO,
    pero aún así, se podían seguir construyendo
    aplicaciones meramente procedurales. Esto permitía que el
    programador, por estar utilizando herramientas
    de la POO, se sintiera confiado de estar utilizando el nuevo
    paradigma y no notaba las verdaderas ventajas éste. Lo que
    hacía usando POO, lo podía hacer de forma
    procedural.

    Internet y los requerimientos no Funcionales del
    software como mantenibilidad, flexibilidad, robustez,
    escalabilidad, entre otros, hacen que características de
    la POO como la herencia, el
    polimorfismo y el uso de interfaces para prestar servicios,
    logren imponer a la POO como una de las mejores opciones para
    desarrollar software hoy en día. Al usar correctamente la
    potencia de la
    orientación a objetos combinada con un buen Framework o
    Middleware de desarrollo, los "desarrolladores" pueden construir
    aplicaciones ajustables a las variaciones de los requerimientos
    tanto funcionales como no funcionales que los clientes
    necesiten.

    Para poder usar
    correctamente la POO también es necesario que existan
    herramientas pensadas para ello. Afortunadamente nacieron
    Java de Sun
    Microsystems y C# de la plataforma .Net de Microsoft,
    entre otros. En estos lenguajes, hasta el más
    mínimo programa es una
    Clase, lo que
    hace que el desarrollador piense en términos de clases y
    de interfaces y empiece a dejar atrás la
    programación procedural. Aun así, dichos lenguajes
    no garantizan que los desarrolladores usen correctamente la
    POO.

    2.
    Evolución de los Lenguajes de
    Programación

    En ésta sección se describirá
    brevemente como 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). También se incluye la
    evolución desde el punto de vista de las
    generaciones.

    2.1. Lenguajes de Bajo Nivel

    2.1.1. Lenguaje Máquina

    Es el lenguaje que entiende el procesador y
    está basado en el sistema
    binario [4]. Está formado por un conjunto de
    instrucciones o códigos que pueden ser interpretados
    directamente por el procesador [5]. El lenguaje máquina
    varía dependiendo del hardware y evoluciona con
    cada versión del CHIP. Cuando se habla 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 Pentium IV.
    ´

    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.
    Según lo anterior, un programa hecho para el 80×386
    (Primera versión estable que soporta multi-tarea [4])
    debería funcionar aun en los últimos Pentium IV de
    doble núcleo. La verdad es que si funcionan, pero no
    utilizan las características nuevas del
    procesador.

    La principal ventaja del lenguaje máquina es su
    alta velocidad,
    debida a la traducción inmediata de los códigos
    binarios. Entre sus muchas debilidades encontramos
    [1]:

    • 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.

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter