El Lenguaje Pascal

Por

Pascal es un lenguaje de programación enfocado principalmente a la enseñanza; fue desarrollado a finales de la década de los 60 por el profesor Niklaus Wirth, en el Instituto Tecnológico de Zúrich. Este lenguaje fue concebido a partir del Lenguaje ALGOL-60. El nombre que hoy lleva este lenguaje fue elegido en honor al filósofo y matemático francés, Blaise Pascal (1623-1662); quien además, se le atribuye la invención de la primera Calculadora Mecánica

Logotipo (no oficial) alusivo al Lenguaje Pascal

El objetivo inicial del profesor Wirth era crear un lenguaje para promover la metodología de la programación estructurada; una disciplina cuyo propósito es adoptar buenas prácticas de programación que conduzcan a la creación de programas simples, ordenados, eficientes, y libres de errores.

Es necesario aclarar que aunque es cierto que Pascal fue diseñado como un lenguaje para la enseñanza; éste no era su único objetivo. También fue creado para utilizarse en diversos campos de aplicación; es por ello, que podremos encontrar potentes herramientas de programación, basadas en Pascal, tanto para fines educativos como de propósito general.

La facilidad y sencillez con que resulta programar en Pascal, hacen a este lenguaje idóneo como una base preliminar de estudio; ya que facilita el aprendizaje de otros lenguajes para aquellos que se inician en las asignaturas de la programación. Hoy en día, a pesar de ser un lenguaje muy antiguo, se sigue utilizando ampliamente como una herramienta de enseñanza en algunas escuelas y universidades.

Características

El lenguaje Pascal ha aportado una serie de características que han convertido a la programación en una actividad disciplinada y, hasta cierta medida, metódica. Entre estas características se destacan las siguientes:

  • Es un lenguaje de alto nivel, lo cual significa que su sintaxis es más parecida al lenguaje natural hablado que al lenguaje de máquina.
  • Es un lenguaje de propósito general, pues nos permite la creación de programas dirigidos a diversos campos de aplicación.
  • Es un lenguaje procedimental e imperativo, basado en un conjunto de instrucciones orientadas a la ejecución de órdenes y procedimientos.
  • Es un lenguaje estructurado, ya que soporta todas las estructuras lógicas de la programación, mediante las sentencias While, For, Repeat, sin recurrir a la sentencia de bifurcación Goto. También soporta el manejo de estructuras de datos basadas en matrices, registros, y archivos.
  • Es un lenguaje modular, ya que nos permite subdividir programas en bloques más pequeños (denominados módulos o subprogramas); donde cada bloque se puede programar de manera independiente.
  • Posee una colección de tipos de datos predefinidos; y además, también permite la definición de tipos de datos propios por parte del usuario programador.

Los estándares del lenguaje

Posteriormente a su creación, el lenguaje Pascal llegó a popularizarse tanto que pasó del ámbito académico hasta convertirse en uno de los lenguajes estándares actuales. La definición original del lenguaje documentada por Niklaus Wirth, en coautoría con Kathleen Jensen, suele denominarse como el primer estándar Pascal; sin embargo, esto puede resultar ambiguo puesto que actualmente existen varios estándares diferentes.

En 1983, la Organización Internacional de Normas propuso el estándar europeo bajo la Norma ISO/IEC 7185. En ese mismo año, también se desarrolla un estándar americano muy parecido, propuesto conjuntamente por el Instituto Nacional Americano de Normas y el Instituto de Ingenieros Eléctricos y Electrónicos; bajo la Norma ANSI/IEEE 770x3.97. La mayoría de las implementaciones actuales se diferencian algo del estándar inicial propuesto por el profesor Wirth.

Luego a esto, le siguen los estándares extendidos bajo la Norma ANSI/IEEE 770x3.160, publicada en 1989, y la Norma ISO/IEC 10206, publicada en 1990; ambos estándares fueron desarrollados, respectivamente, por las mismas organizaciones normativas mencionadas en el párrafo anterior.

En 1990, se lanza una versión actualizada de la Norma ISO/IEC 7185, pero esta no añade ninguna novedad; simplemente se corrigen los errores y se eliminan las ambigüedades de las especificaciones anteriores. La Norma ISO/IEC 7185 es la que actualmente se conoce como el Estándar Pascal Oficial, el cual define los requisitos mínimos que un traductor Pascal debe tener para ser considerado un verdadero compilador o intérprete del lenguaje Pascal.

Implementaciones

A través de los años, se han desarrollado diferentes traductores para Pascal; la mayoría de éstos, se han implementado en forma de compiladores. Algunas implementaciones comerciales más conocidas del lenguaje Pascal, son los compiladores de entornos antiguos de programación como Macintosh Pascal, Microsoft Quick Pascal, y Turbo Pascal; siendo esta última la más popular a nivel mundial. Otras más actuales, son los compiladores de los entornos de programación Free Pascal y N-ide Pascal. Cabe aclarar que estas implementaciones no son las únicas, si usted consulta en internet descubrirá que existen otras más.

Por lo general, las distintas implementaciones que existen se adaptan al estándar y añaden sus propias extensiones. Tal es el caso del dialecto de Turbo Pascal, que presenta diferencias mínimas respecto al estándar Pascal y posee numerosas extensiones. Free Pascal por su parte nos ofrece activar el modo ISO 7185, el cual obliga al compilador a cumplir con los requisitos del estándar Pascal. Todas estas extensiones, por una parte aumentan las capacidades del lenguaje, pero por otra afectan la portabilidad del código fuente; mermando la posibilidad de trasladar sus programas entre distintos compiladores.

Conocer a fondo las distintas implementaciones de Pascal es muy importante, por una simple razón: poder decidir si utilizar o no sus extensiones; ya que si un programa se escribe siguiendo el estándar, deberá funcionar en la mayoría de compiladores; en cambio, si se emplean las extensiones, lo más probable es que no funcione en otros compiladores.

Es muy importante también, tener en cuenta que el objetivo del estándar Pascal no es prohibir las extensiones, sino que al menos se cumpla con una implementación básica estandarizada. De hecho, muchos compiladores desarrollados antes del estándar Pascal oficial ya incluían extensiones.