El Lenguaje de Programación Pascal

Niklaus Wirth, diseñador de Pascal como lenguaje de programación, y también Módula-2 y Oberón. Es además uno de los pioneros en Ingeniería del Software.

Presentado en 1970 por Niklaus Wirth, Pascal fue diseñado para forzar la implementación de programas bien estructurados, claros y reducir el número de errores durante el desarrollo. Estas características lo convirtieron pronto en la referencia para la docencia de programación en la Universidad.

Pascal es un lenguaje fuertemente tipado, con código dividido en fragmentos con semántica propia (funciones o procedimientos) y con variables que han de ser declaradas como paso previo a su uso, impidiéndose la interpretación o conversión de valores como por ejemplo hace C.

 

Pascal Book, 1970 Edition

Pascal Book, 1970 Edition

Estas características hoy comunes fueron pioneras en el momento de presentación de Pascal, e hicieron que un lenguaje pensado exclusivamente como recurso didáctico penetrara en el mercado como lenguaje de propósito general y utilizado en multitud de aplicaciones en distintos escenarios, desde el ámbito de la investigación al desarrollo de juegos. Pascal fue el lenguaje utilizado para el Apple Lisa y los primeros Macintosh.

Las primeras versiones de Pascal traducían el código fuente a código para una máquina virtual (máquina-P), lo que permitía ejecutar software en distintas arquitecturas sólo reimplementando la máquina-P. Esta idea es revisada años después por otros lenguajes.

La evolución de Pascal le llevó desde la posibilidad de crear ventanas en un entorno no gráfico (MS-DOS) a la programación orientada a objetos con Delphi, pensado para el desarrollo de aplicaciones visuales en entorno Windows. Hoy (2021) Free Pascal es el sistema referencia para programar en Pascal, el entorno Lazarus, un clon del Delphi, tiene versiones tanto para Windows, OS X y Linux.

Pascal


Nacimiento: 1970
Evolución: Turbo Pascal (1983); Object Pascal (1985); Delphi (1995);
Influencias de: ALGOL W; Simula 67;
Influye en: Ada; Go; Java; Modula-2;