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