Pascal es un lenguaje de programación creado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969, y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo, con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación fuertemente tipado. Esto implica que, por un lado, el código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos, lo que facilita la utilización de la programación estructurada en oposición al antiguo estilo de la programación monolítica; y, por otro, que el tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
Antes de adentrarse en el diseño de Pascal, Niklaus Wirth había desarrollado Euler y ALGOL W, y más tarde pasó a desarrollar los lenguajes Modula-2 y Oberon, al estilo de Pascal.
Inicialmente, Pascal estaba en gran parte, pero no exclusivamente, destinado a enseñar a los estudiantes la programación estructurada. Una generación de estudiantes usa Pascal como lenguaje de introducción de cursos de graduación. Las variantes de Pascal también se han usado para todo, desde proyectos de investigación a juegos de PC y sistemas embebidos. Existen nuevos compiladores de Pascal que son ampliamente utilizados.
Pascal fue el lenguaje primario de alto nivel utilizado para el desarrollo en el Apple Lisa, y en los primeros años del Macintosh. Algunas partes del sistema operativo original del Macintosh se traducen a mano al lenguaje ensamblador del Motorola 68000 de sus fuentes Pascal.
Asimismo, el sistema de composición tipográfica TeX, de Donald E. Knuth, fue escrito en WEB, el sistema de programación literaria original, basado en DEC PDP-10 Pascal.
Por su parte, aplicaciones como Total Commander, Skype y Macromedia Captivate fueron escritos en Delphi (Object Pascal). Object Pascal (Embarcadero Delphi) todavía se utiliza para el desarrollo de aplicaciones Windows, pero también tiene la capacidad de compilación cruzada del mismo código para Mac, iOS y Android.
Otra versión multiplataforma llamada Free Pascal, con el IDE Lazarus, es popular entre los usuarios de GNU/Linux, ya que también está en línea con la filosofía «escribe una vez y compila para todos». CodeTyphon es una de las distribuciones de Lazarus con más paquetes preinstalados y compiladores cruzados.
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á permitida (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; y también evita la necesidad de notación húngara, que vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.
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 intérprete tenía que ser reescrita hacia muchas arquitecturas.
En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para el Nascom-2. Más tarde fue a trabajar para Borland y reescribió su compilador, que se convirtió en Turbo Pascal para el IBM PC. Este nuevo compilador se vendió por 49 dólares, 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 utilizarlo principalmente en el IBM PC. En busca de un lenguaje estructurado, muchos aficionados al PC reemplazaron el BASIC por este producto. Dado que Turbo Pascal sólo estaba disponible para una arquitectura, traducía directamente hacia el código máquina del Intel 8088, logrando construir programas que se ejecutaban mucho más 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 al código de la arquitectura en que corre.
Con Turbo Pascal versión 5.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 del estándar Object Pascal, propuesto por Apple Inc. como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el nombre a ‘lenguaje de programación Delphi’ en sus últimas versiones.