Artículo de opinión sobre la historia del lenguaje Pascal - Por H.R Quiroga

Viejos Tiempos

Copyright © 2001 H.R Quiroga

JfControls Library - para Delphi y C++ Builder

Un repaso de los viejos tiempos

Se dice que toda revolución tecnológica requiere 30 años para convertirse a una forma definitiva y cotidiana de la vida humana. Esto ha sido así con la televisión y el teléfono. La computación en algunos de sus aspectos (como revolución) parece estar llegando a sus treinta años por lo cual podemos asumir que ya está tomando su forma definitiva.

Desde finales de los ochenta, en computación de escritorio, no se ha presentado un producto verdaderamente nuevo (original) que sea importante fuera de su entorno operativo, el último fue Access, Microsoft se lo compró a una empresa Francesa según recuerdo, y si somos rigurosos es una evolución algo más visual de los sistemas de base de datos (xBase, por ejemplo). Tenemos unos 10 años viendo como los programas existentes sólo cambian de versión. Incluso nuevos fabricantes sólo hacen nuevas versiones de programas ya existentes. Piense en esto un poco, Star Office y MS-Office vienen de WordStar, Visicalc (o Multiplan) en los 80. Los lenguajes de programación no son nuevos, solo evoluciones de Basic, Pascal y C. De resto los visualizadores de Internet son tan nuevos como el www (lo cual no es realmente muy nuevo). Revisando mi computadora no encontré software realmente original que no fuese dependiente del sistema operativo (FindOrphan, StartupCop por ejemplo).

Lo anterior viene a colación porque creo que Delphi está llegando a su forma definitiva como evolución de Pascal. No está de más mirar un poco al pasado. No pretendo recontar lo que muchos ya sabemos, sólo quiero hacer unos comentarios curiosos de la historia. En adelante refiero a Delphi como evolución de Pascal.

Un momento histórico crucial. Mediados de los 80.

Lotus 1-2-3, CP/M, PC-AT y el lenguaje más común (al nivel de) micros: Basic.

En algún lugar del mundo, un noche fría, un miserable programador arrodillado terminó un rezo así "... y líbranos de Basic, amén." Entonces apareció Turbo Pascal. Eso es el tipo de cosas que me hace dudar de la inexistencia de Dios.

Delphi surge como evolución de Pascal y Pascal es prototipo (como Ada, APL y otros) de lo que ha sido llamado lenguaje B&D ("bondage-and-discipline"). La imagen de una mujer inglesa vestida de negro con un látigo, cadenas dispuesta a no dar posibilidad de salirse de ciertas normativas ('right programming') es de muy claro entender para los que pasamos por "Basic" en los ochenta. Turbo Pascal es responsable del primer intento valido por quitarnos dos etiquetas respecto a Pascal: Lenguaje B&D y la de "toy language".

Lenguaje de juguete

Como lenguajes de juguete se han entendido a los lenguajes de carácter instruccional diseñados como prueba de alguna teoría de ciencia de la computación. Pascal, como Niklaus Wirth lo definió en 1967, era así. De hecho por mucho tiempo muchas personas han pensado que llevar a Pascal a un lenguaje para programación de propósito general es una mala idea. Entre ellos Brian Kernighan.

En el año 1981 Brian Kernighan escribió un "paper" titulado "Why Pascal is Not My Favorite Programming Language". Según entiendo pueden buscarlo en "Comparing and Assessing Programming Languages" de Alan Feuer y Narain Gehani (Prentice-Hall, 1984). Allí manifiesta algunas cosas interesantes. Tuvo razón en al menos una: las extensiones del lenguaje acaban con la portabilidad. El hecho es que, volviendo a la actualidad, de no ser por la limitada portabilidad hacía Kylix, Delphi no es portable (aún). De todas formas uno de los problemas que él veía eran los de los tipos "string" (una extensión que no es parte de Pascal estándar), variables estáticas y globales y en fin males que la OOP ha tratado de eliminar con bastante éxito.

Yo nunca programé en Pascal estándar, mi primer Pascal fue Turbo Pascal 2.xx en CP/M que quizás era de juguete como consideró Kernighan, pero daba para todo lo que era capaz CP/M (¿Será que CP/M era un juguete?).

Hoy en día muchos programadores de Delphi provienen de C y Basic en sus versiones más evolucionadas (Visual C++, Visual Basic) y no creo que piensen en Delphi como algo inadecuado para la programación de propósito general. Claro Delphi es más que un superconjunto de Pascal.


Copyright © 2001 por H.R Quiroga. Todos los derechos reservados.

Se permite la publicación de este material por cualquier medio por parte de cualquiera siempre que este no sea modificado en contenido y se cite la fuente original.

Segunda parte

Próximamete publicaremos la segunda parte de este artículo.

Boycott Trend Micro!