domingo, 31 de enero de 2010


Lo mínimo que deben conocer los futuros Bachilleres en Computación acerca de la historia y evolución de los lenguajes de programación

Lenguajes, compiladores e Intérpretes. Definición

Un lenguaje de programación es una serie de comandos que nos permiten codificar instrucciones de manera que sean entendidas y ejecutadas por una computadora.

Un intérprete es aquel lenguaje que no trabaja en código máquina en forma directa, sino que va traduciendo cada instrucción. Ejemplo de esto fue el Dbase. Obviamente son mucho más lentos que los lenguajes de alto nivel que trabajan ejecutando instrucciones directamente en código máquina.

Un compilador lo que permite es traducir las instrucciones del lenguaje contenidas en el código fuente (instrucciones) a código máquina, de manera que el programa no necesita interpretar o convertir cada instrucción. Debido a esto es mucho más veloz que un intérprete y por supuesto mucho mas profesional.

> Estructurados vs no estructurados

A partir de C el gran lenguaje, y Pascal; se dividen los lenguajes en estructurados (aquellos que en su codificación usaban una estructura jerárquica de procedimientos y funciones), en contraposición a los lenguajes no estructurados como el Basic cuya codificación se basaba en líneas de programación, permitiendo al programador "saltar" de una línea de instrucción a otra, haciendo que el código fuera algunas veces inentendible y muy difícil de mantener (modificar) porque no seguía una estructura.

Basic de todos modos evolucionó, primero con el ahora primitivo GW Basic, teniendo su máxima expresión con el Quick Basic del D.O.S. 5.0, el cual ya incluía algunos conceptos mas de avanzada y más "aggiornados" a lo que eran sus contrapartes estructuradas.

> 1985-1990 y el nacimiento del Xbase

dBase fue el gran desarrollo para base de datos de los años 80. Bajo la batuta de la firma Ashton Tate, empresa que dio origen a un interprete de bases de datos muy sencillo y poderoso: dBbase II. Luego vinieron el dBase III+ que hizo furor, y la etapa de la decadencia para dBase: el dBase IV, ya bajo la dirección de Borland.

Así surgió el gran compilador Clipper, de Nantucket Corp., en su versión Autumm 86 que permitía generar ejecutables libres de royalties y sin runtimes, incluso tomando en forma directa el código dBase. Pero no solo era eso, proveia cientos de comandos y funciones para potenciar al dBase.

Al ver el éxito de dBase y Clipper, surgió la empresa Fox Software que desarrollo el FoxBase (un clon de dBase III+) y supero al "maestro" con su versión Fox Plus, pero aun así, nunca pudo superar a Clipper ya que siempre lidio con su política de necesitar de runtimes para su ejecución, cosa que Clipper nunca necesitó.

> Los primeros años, 1990-1995: Las bases de datos relacionales

A principios de la década pasada, se nota la evolución de los lenguajes de programación. En forma profesional y aplicaciones de alto nivel, el lenguaje preferido era C.

Para el aprendizaje se usaba Pascal, que permitía inculcar el concepto de programación estructurada.

También Basic, era un lenguaje utilizado, no en pocas ocasiones en forma profesional, aunque con ciertas limitaciones; su reinado estuvo en los años 80.

En lenguaje C, fue y todavía es el gran artífice de la computación actual. A partir de el se desarrollaron compiladores que realmente constituían otros lenguajes de programación. Es decir un lenguaje que crea otros lenguajes. Tal es el caso de la estrella de la primera mitad de la década pasada: Clipper de Nantucket Corp., el gran compilador de lenguaje Xbase. Clipper fue criticado por los profesionales de la programación quienes aducían que no era un lenguaje, sino un simple compilador nacido de la necesidad de aligerar la ejecución de código del Interprete que le dio su origen, es decir el dBase. Pero realmente Clipper, gracias a llevar dentro su código un corazón de lenguaje C, fue muy fácil de utilizar y alcanzo gran popularidad.

Se desarrollaron librería externas, y con la programación al estilo C a partir de su versión 5.0 y la inclusión de objetos, se convirtió en uno de los favoritos de la programación administrativa, junto con Pascal.

Todos los lenguajes Xbase se basaban en el concepto de bases de datos relacionales, es decir la agrupación de la información en forma de tablas, denominadas campos y registros, cada uno de ellos preformateados para recibir cierto tipo de dato (ej: fechas, caracteres, números, valores lógicos, etc.); pudiendo "unir" diferentes bases por medio de campos comunes.

> La segunda mitad, 1995-2000: La orientación a objetos

A medida que los años van pasando el concepto de Bases relacionales empieza a decaer relativamente, surge entonces una variante que se aplica a todos los lenguajes: La orientación a objetos. Ya no solo se habla de programación estructurada, sino que los módulos de programación son vistos como objetos, las estructuras representan objetos y/o funciones que se adaptan en forma general a procesos específicos es la maximización de la programación modular.

El modelo de objetos engloba los conceptos de encapsulación, herencia y poliformismo, el cual se aplica a los datos y al tipo de bases de datos que almacena la información.

La orientación a objetos significa la agrupación de entidades de datos de forma global, de tal manera que puedan ser interpretados de una forma común por una misma estructura de programación.

> El fin de los lenguajes D.O.S.: Windows 95

Windows 95 marca el comienzo del fin de la programación D.O.S. y por lo tanto de los lenguajes basados en este. Este proceso no fue enérgico, todavía hoy (2000), estamos viviendo esta etapa. Todavía hay numerosos y excelentes sistemas desarrollados bajo entorno D.O.S. ejecutándose pero cada vez son los menos.

Veamos que hicieron los lenguajes D.O.S. para mantenerse en el mercado:

Clipper trato de evolucionar hacia Windows bajo la batuta de Computer Associates con el nombre de Visual Objects, el cual fue un fracaso. Al igual que Visual Dbase 5.0 bajo la órbita de Borland.

Los únicos "sobrevivientes" al menos en esencia son Visual Fox (Microsoft), Visual Basic (Microsoft), Delphi (Borland) y Visual C (Microsoft)

> 2000 y más allá: lenguajes visuales

Con al llegada de Windows todo es Visual, todo es iconos, todo es botones, todo es Ventanas. Para programar en lenguajes visuales, primero hay que comprender lo que es Windows. La forma de programar los sistemas evolucionó radicalmente. Con Windows es preciso programar conservando las convenciones del mismo, guardando sus características y funcionalidades. Los sistemas hechos para Windows, deben ser tan Windows como el propio sistema operativo.

La forma de programar se basa en objetos, cada uno de los cuales tiene sus Propiedades y funciones. Se basa en la programación de eventos para dichos objetos. Otro detalle es que la programación se basa en componentes (OLE, OCX, ActiveX), los cuales reducen notablemente el trabajo de la programación al proporcionar herramientas antes impensadas en la programación D.O.S.

Todos los lenguajes visuales ofrecen RAD (Rapid Aplication Development) o Wizzards; con lo cual comenzaron a prometer hacer aplicaciones en poco tiempo, incluso para inexpertos. Lejos estaban ya los tiempos en que programar era solo usar un simple editor de textos. Ahora las herramientas de programación son poderosas. Son casi un sistema operativo, por asi decirlo; con entornos de desarrollo avanzados y excelentes Debuggers.

Los paradigmas de la programación Windows son:
- Borland Delphi (la evolución del Pascal)
- Visual Fox (la evolución del Xbase)
- Visual Basic (la evolución de Basic)
- Visual C (la evolución del C)

Las incursiones cada mas innovadoras de Microsoft parecen imponer a la web como el centro de desarrollo de aplicaciones: Microsoft .NET

> Una visión a la WEB y al futuro: HTML, Perl, PHP, Pithon, Java y otros

Internet ha sido el disparador de nuevos lenguajes tales como el HTML que es el lenguaje de programación de las páginas WEB para hipertexto. El mismo constituye una codificación bastante simple, basada en marcadores (TAGs).

De la misma manera, cuando se hace necesario proveer de funciones adicionales a un servicio web se recurre a Perl o a Pithon que son lenguajes que nos permiten escribir scripts para ser alojados en los servidores a efectos de proveer contadores, estadísticas, rankings, etc.

Por otra parte Java, bajo la dirección de SUN, constituye la idea de la programación abierta y universal para las aplicaciones de escritorio, pero todavía los estándares visuales (C, Basic y Delphi), son demasiado poderosos como para desplazarlos, a pesar de que Java promete también ser un lenguaje de excelentes prestaciones.

Las nuevas tecnologías WEB inundan el mercado: PHP, ASP, XML, DHTML, lo cual enriquecen la forma de manejar la información y su presentación al usuario final.

> Conclusiones

Es de esperarse que los lenguajes Visuales dominen el mundo de las PCs durante mucho tiempo, por lo menos mientras no evolucionen de otra manera los Sistemas Operativos. Los lenguajes de programación evolucionan a medida que lo hacen los Sistemas Operativos en que funcionan, siempre ha sido así. Nunca un lenguaje de programación determinó un Sistema Operativo, por el contrario los Sistemas Operativos determinaron los lenguajes de programación.

No hay comentarios:

Publicar un comentario