Lenguaje de programación Pascal

Keywords: Lenguaje de programación Pascal, 1970, ALGOL, AWK, Algol, Años 1980, Años 1990, BASIC

Pascal es un lenguaje de programación de alto nivel y propósito general, desarrollado por Niklaus Wirth, profesor del Instituto tecnológico de Zurich, Suiza. Lo creó pensando en un lenguaje didáctico para el aprendizaje de técnicas de programación, "una disciplina sistemática basada en determinados conceptos fundamentales". Estos conceptos más tarde se tornarían motivo de controversia entre los que creen que este lenguaje tiene utilidad limitada a los medios académicos, como Brian W. Kernighan. Con el tiempo se ha convertido además en un estándar de los lenguajes de programación más usados.

La primera versión preliminar apareció en 1968 y el primer compilador aparece a finales de 1970.

A partir de los años setenta se convirtió en el sucesor de ALGOL en el entorno universitario. Pascal permite construir programas muy legibles. Wirth es también autor del lenguaje Modula-2 y de Oberon.

El lenguaje de programación Delphi es una versión orientada a objetos moderna del lenguaje Pascal y es ampliamente utilizada en la industria de software.

En la ciencia de la computación, el lenguaje de programación estructurado Pascal es uno de los hitos en los lenguajes de programación y esta todavía vigente hoy en día.

Nació a partir del lenguaje de programación Algol al cual añade tipos de datos y simplifica su sintaxis. El nombre de Pascal fue escogido en honor al matemático Blaise Pascal. Wirth también desarrollo Modula-2 y Oberon, lenguajes similares a Pascal, los cuales soportan programación orientada a objetos. Pascal también ha influido en otros lenguajes como Ada y Eiffel.

Tabla de contenidos

Características únicas

A diferencia de lenguajes de programación descendientes de C, Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores [bugs] difíciles de rastrear en código C. Dado que Pascal no permite dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos errores.

Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no están autorizadas (En C, en cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente porque el tipo es desconocido. Esto también evita la necesidad de notación húngara, prefijos que se añaden a los nombre de las variables y que indican su tipo

Implementaciones

Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una pequeña parte del interprete tenía que ser reescrita hacia muchas arquitecturas.

En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo Pascal para la IBM PC. Este nuevo compilador se vendió por $49, un precio orientado a la distribución masiva.

El económico compilador de Borland tuvo una larga influencia en la comunidad de Pascal que comenzó a utilizar principalmente en el IBM PC. Muchos aficionados a la PC en busca de un lenguaje estructurado reemplazaron el BASIC por este producto. Dado que Turbo Pascal, solo estaba disponible para una arquitectura, traducía directamente hacia al código de máquina del Intel 8088, logrando construir programas que corrían mucho mas rápidamente que los producidos en los esquemas interpretados.

Durante los años 1990, estuvo disponible la tecnología para construir compiladores que pudieran producir código para diferentes arquitecturas de hardware. Esto permitió que los compiladores de Pascal tradujeran directamente a código de la arquitectura donde correría.

Con Turbo Pascal versión 5, Borland, agregó programación orientada a objetos a Pascal.

Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su producto Delphi, diseñado a partir de estándar Object Pascal propuesto por Apple como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambio el nombre a lenguaje de programación Delphi en sus últimas versiones.

Compiladores disponibles públicamente

Varios compiladores de Pascal están disponibles para el uso del público en general:

Crítica anticuada

A pesar de ser muy extendido el uso de este lenguaje de programación sobre todo en los años 1980 y principios de los 90, las primeras versiones de Pascal fueron muy criticadas por no producir código de características industriales. Brian Kernighan, co-creador del lenguaje de programación C, en 1981, en un documento “Why Pascal Is Not My Favorite Programming Language” hace una crítica sobre el lenguaje Pascal. Desde entonces las implementaciones de Pascal han continuado evolucionando y la mayoría de las críticas del documento no son aplicables en la actualidad.

Hola mundo

El típico programa Hola mundo

PROGRAM Holamundo;
 BEGIN
   WriteLn('¡Hola mundo!');
 END.  
 

Todos los programas comienzan con la palabra clave "Program", y un bloque de código es indicado con el "Begin"/"End". No hace diferenciación entre instrucciones o variables escritas en mayúsculas o minúsculas como hace el C. El punto y coma separa las declaraciones, y el punto sirve para indicar el final del programa o unidad. Para algunos compiladores la línea de Program es opcional.

Ejemplo de programa

 program Promedio (input, output);
 var
    nota, suma, i, n: integer;
    p: real;
 begin
    WriteLn('¿Cuántas notas?');
    Read(n);
    for i := 1 to n do
    begin
       WriteLn('ingrese nota nº', i);
       Read(nota);
       suma := suma + nota
    end;
    p := suma/n;
    WriteLn('el promedio es ', p)
 end.
 


Lenguajes de programación
Ada | Algol | Awk | Basic| BCPL | C | C++ | C# | Cobol | Delphi | Eiffel | Forth | Fortran | Haskell | Java | Lisp | Logo | MAGIC | Miranda | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | Prolog | Python | Ruby | Smalltalk | Otros lenguajes...

Keywords: Lenguaje de programación Pascal, 1970, ALGOL, AWK, Algol, Años 1980, Años 1990, BASIC