¿Donde esta Pascal hoy?
A principios de los 90, había pocos lenguajes de alto nivel que producían código compacto y veloz, pero había dos que eran de uso masivo: C y Pascal. Los otros lenguajes existentes, estaban a años luz de este dúo. De hecho muchos programas de la época, se escribían en Pascal. Pero hoy día, eso ha cambiado. De hecho, si revisamos la lista de los lenguajes más utilizados, Pascal está detrás de lo que en su momento fue. Incluso en nuestro análisis de que lenguajes recomendamos aprender, no lo incluimos, aunque explicamos porque. ¿Donde esta Pascal hoy? ¿Y cuál es el futuro? Para saberlo, debemos volver al pasado Marty
El inicio
A fines de la década de 1960, Niklaus Wirth diseño este lenguaje, que inicialmente fue ampliamente utilizado para enseñar programación estructurada. Pero no se lo utilizo solamente para enseñar, pues muchos programas de uso general durante las décadas de 1970 y 1980, se escribieron en este lenguaje.
El software de ordenador Apple Lisa, y parte del la Mac original, se escribieron en un dialecto de Pascal. Y a fines de los 1980, la aparición de Object Pascal, dio paso a un lenguaje orientado a objetos, y la época de apogeo del lenguaje.
Pasado glorioso
A principios de la década de 1990, los compiladores de Borland, Turbo C/C++ y Turbo Pascal arrasaban. No eran lo únicos que existían, pero gracias a la poderosa Ide que tenían para escribir el código, y a que incluían la herramienta Turbo Visión, los programadores podían (podíamos) generar interfaces intuitivas (modo texto, como era lo normal en esa época) de forma muy cómoda. Eso simplificaba el desarrollo de muchas aplicaciones complejas y hacia qué Turbo Pascal (y su primo Turbo C/C++) tuvieran un protagonismo en esa época. Y lo mejor que tenían, era una velocidad de compilación envidiable por el resto (no por nada se llamaban Turbo), lo que hacia que la excusa de que no haciamos nada porque esta compilando, no fuera valida en la mayoria de los casos.
Cuando surgió Windows, las interfaces de texto quedaron en la historia. Y fue entonces cuando muchos conocieron(conocimos) a Visual Básic, para bien o para mal. El gran problema de VB era que el código corría interpretado, y no compilado, además de ese engendro demoníaco que fueron los controles OCX/ActiveX. Muchos esperábamos una herramienta que permitiera la facilidad de Visual Básic para crear interfaces, pero código veloz. Y eso hizo Borland con Delphi (y en parte también con C++ Builder). Ah, que linda época. Todos (?) amabamos Pascal y Delphi.
Delphi era el sueño del desarrollador, pues podía diseñar interfaces de una forma tan sencilla como Visual Básic, pero con una performance que igualaba al C++ (al igual que Turbo Pascal hacia en DOS). Incluso los componentes podían escribirse en Pascal, de modo que el ejecutable no necesitaba dependencias externas o registrar controles.
Decadencia
A fines de 1999, el principal entorno que se utilizaba para programar en Pascal, Delphi, era una máquina de generar dinero para Borland. Entonces, fue que se echaron a dormir y a tomar malas decisiones.
Por una parte, en vez de invertir el dinero en Delphi, invirtieron en un producto que nunca terminó de triunfar: JBuilder. Mientras casi todo el dinero se iba en esa dirección, poco se evolucionaba en el frente de Delphi.
Por otra parte, para mantenerse a la vanguardia, tomaban deciciones de diseño en el lenguaje que no ayudaban a los programadores.
Por ejemplo, versión tras versión, Delphi nos traía mejoras y cambios en el lenguaje, que a veces nos forzaba a reescribir algunas partes de programas. Eso también nos provocaba problemas con componentes precompilados (aquellos que no contenían el código fuente), pues nos forzaba a conseguir una versión compilada para la versión de Delphi que teníamos, pagando de nuevo por el componente en muchos casos.
Pero además de eso, se incluyeron tecnologías en algunas releases que no tuvieron soporte con el tiempo. Por ejemplo, al salir la versión de Linux de Delphi, bautizada Kylix, se dio origen a las librerías CLX, que supuestamente reemplazarían a las VCL, pero al discontinuarse Kylix, se descontinuó el soporte y se continuó con VCL.
Y al intentar entrar en el ámbito de .net, Delphi 8, como se llamó a la versión sólo para .net, fue un fracaso y se volvió al desarrollo en Win32 tradicional y .net en conjunto. Posteriormente, se descartó la implementación de Delphi.net y se cambió por otra desarrollada por RemObjects.
Borland, con el rumbo perdido y con problemas económicos, vende su división de compiladores bajo el nombre de Codegear a la empresa Embarcadero.
Hoy día, Delphi se sigue comercializando y tal como en el pasado, su costo en prohibitivo para la mayoría de los mortales. Y el hecho de que las excesivamente costosas releases anuales no suman muchas mejoras (aunque el programa en su conjunto es excelente), han hecho que muchos migráramos con el tiempo a C#, el lenguaje tiene cosas que muchos esperaban de Object Pascal y que aún se esperan. La razón de este movimiento, probablemente se deba a que el equipo que diseño de C# está dirigido por Anders Hejlsberg, antiguo director de Turbo Pascal y Delphi en Borland
Esto hizo que este lenguaje tuviera muchas cosas heredadas de este y que muchos desarrolladores de Pascal se pasaran a C# al sentirse cómodos con el lenguaje, o al menos lo probaran.
En resumen, esta sucesión de hechos, ha hecho que muchos desarrolladores abandonaran la ide de mayor uso de Pascal y buscaran otros horizontes.
¿Esta muerto Pascal?
Ya eso quisieran muchos, pero no. Si bien la cantidad de programadores que usan Pascal ha descendido un tanto con los años, aún hay muchos que aún pueden hacer de las suyas en este lenguaje.
De hecho, es un excelente y poderoso lenguaje que vale la pena aprender. ¿Como podemos programar en Pascal hoy en día?
Delphi: si bien todo lo que dijimos anteriormente es cierto, Delphi hoy en día no es un mal producto. De hecho es la ide más avanzada para Pascal que podrán encontrar. Adicionalmente al desarrollo en Windows, podemos programar para OSX, así como también para Android e IOS. También nos permite escribir código que se ejecute sobre .net, utilizando una variante del lenguaje llamada Oxygene. Como contrapartida, el excesivo precio, no sólo si lo vamos a comprar sino si también vamos a actualizarnos a una versión más nueva. De hecho hay tan pocas mejores entre release anuales, que no siempre vale la pena actualizarse.
Lamentablemente, Idera ha adquirido Embarcadero hace poco y el futuro es incierto de momento, pero espero no signifique el fin de esta herramienta.
Lazarus: Basado en el compilador FPC (Free Pascal Compiler), es una ide de código abierto, multiplataforma, que corre en Windows, Linux y OSX. Su diseño y funcionamiento nos hace recordar el de las primeras versiones de Delphi. Es un proyecto maduro, que lleva varios años en desarrollo y que al día de hoy puede utilizarse sin problemas en aplicaciones de uso general.
PascalABC: este compilador, nacido en la madre Rusia, es una variante de Pascal que genera ejecutables en .net. Desarrollado por ya más de 14 años, dispone de una ide que de momento viene sólo en inglés y ruso. Pero si su ordenador no tiene lenguaje inglés, la Interface se visualizará enteramente en ruso! Vashe zdorovie!. Pese a todo, es posible poner la interface en inglés y poder programar aplicaciones Winforms. Incluso tiene un diseñador de formularios para este fin.
En cuanto al lenguaje incorpora muchas mejoras como genenerics, expresiones lambda, presentes en otros lenguajes que corren sobre la plataforma .net.
En Rusia, su uso es muy difundido en escuelas y universidades para enseñar teoría de programación.
Sin dudas otro proyecto para tener en cuenta si nos atrae Pascal.
Aún queda Pascal para rato
Hoy día se sigue utilizando Pascal. En algunos lugares es un lenguaje muy utilizado para enseñar a programación correctamente.
Por otra parte, el hecho de que tantos productos que permiten programar en Pascal sigan activos, es una buena señal. Algunos, como Lazarus y PascalABC, son proyectos bastante avanzados que nos hacen pensar que en el futuro más de uno podría volver a escribir en Pascal.
Así que, si, hay Pascal para rato. Pascal no ha muerto. Y si algún día lo hiciera, vivirá para siempre en nuestros discos rígidos.