martes, 7 de febrero de 2023

¿Cómo puedo programar Pascal en Ubuntu?

Desde su chalet madrileño en Puerta de Hierro, Juan Perón expone cómo instalar el ambiente de programación FreePascal en Ubuntu.

¡Trabajadores!

Reconforta mi espíritu las líneas y mensajes que a diario me hacen llegar de la Argentina, que me persuaden de la contumaz impericia de la que hacen gala estos señores. No hacen más que reverdecer la Doctrina que durante diez años consolidamos en la Argentina. De nada servirán los sacrificios que intentan imponer al Pueblo, si no tienen por objetivo la Liberación Nacional.

A tal fin han intentado sofrenar sus expresiones, disolver sus Organizaciones. Es en balde: todos sabemos que el corazón procesa símbolos, y la CPU dos números. Ellos pueden tener el mango de la sartén, pero de nada sirve si no existe el fuego que le dé sustento. Durante diez años no hicimos más que afianzar el cariño del Pueblo, es este el único que alumbra el designio de hacer grande e inmortal a la Patria.

Sabemos que al igual que esta agotada Dictadura, el software privativo es un monstruo que intenta hacer enjundiar a los programadores entre sí, pero será progresivamente eliminado por quienes compilan software libre, y lo será en un futuro no muy distante. Esto es así pues en el discurrir del tiempo hemos consolidado órdenes para ello suceda, y estas ya, obran por automatismo. Nuestro objetivo es claro, y nada ni nadie nos hará desviar de esta meta, que no es otra que emparchar el código con la Justicia Social que declaman nuestros descamisados.

Vean señores, la programación es un arte que involucra una serie de procesos mujer/máquina para resolver un problema determinado. Esto se aprende, pero también se comprende.

El Profesor Niklaus Wirth creó Pascal con la finalidad de tornarlo un lenguaje de programación que sirviera de base educativa. En él - consideró - se reunirían las buenas prácticas que hacían este arte (aferramiento a un código bien estructurado, seguridad de tipeado, etcétera). Mas de uno consideró que Pascal era totalmente inadecuado para desarrollar "software del mundo real, grande, seguro, y de desempeño". Y es probable que así lo fuera, ya que dar con estas prerrogativas podía equivaler a escalar el Aconcagua en chancletas. 

Sin embargo, los distintos dialectos del lenguaje Pascal traspasaron su vertiente educativa, convirtiéndose en un lenguaje adorado por las Masas, que supo ver en él a un entrañable amigo. En una época donde al proyecto GNU no lo conocía ni el loro, con la aparición de la implementación Turbo Pascal de Borland y por moderados 50 dólares se podía tener un compilador, depurador y enlazador ajustados a un ambiente de desarrollo que andaba en una PC con nafta común. 

Para su versión 7, el Turbo Pascal de Borland ofrecía un ambiente integrado de de programación (IDE) rico y poderoso, que hacía del desarrollo de software una posibilidad productiva en sumo grado. Con poco se daba rienda suelta a este lenguaje estructurado de alto nivel, pudiéndose diseñar, escribir, depurar y compilar programas de cualquier tupo y factor.

Muchas veces me han preguntado cómo instalar un compilador de Pascal que funcione en Ubuntu, y la realidad es que - en principio - no se necesita hacerlo. En los sistemas de tipo GNU ya contamos con GCC, enorme colección de compiladores profesionales libres y gratuitos, que suele bastar para estos menesteres. 

Sin embargo, ante una necesidad nace un derecho, y una solución informática libre para solventarlo. Contamos en GNU con la IDE FreePascal, fuertemente inspirado en el añorado Turbo Pascal 7, pero libre, y que no cuesta una chirola. Hemos de saber que Ubuntu cuenta con una versión empaquetada en sus repositorios oficiales, pero vaya a saber porqué esta no funciona adecuadamente, y en Ubuntu 22.04LTS y falla al compilar.

Afortunadamente podremos descargar e instalar la misma versión de forma manual, superando tal inconveniente. Todo ello se realiza abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente bloque de Comandos de Organización:

mkdir ~/Descargas/fpc/ ;
cd ~/Descargas/fpc/ ;
wget https://sourceforge.net/projects/freepascal/files/Linux/3.2.2/fpc-3.2.2.x86_64-linux.tar ;
tar -xvf fpc-3.2.2.x86_64-linux.tar ;
cd ~/Descargas/fpc/fpc-3.2.2.x86_64-linux/ ;
sudo ./install.sh

Conforme introduzcamos nuestra contraseña de Conductor, el guión install.sh de instalación nos solicitará indicar dónde queremos instalar el paquete del compilador:

This shell script will attempt to install the Free Pascal Compiler
version 3.2.2 with the items you select

Install prefix (/usr or /usr/local)  [/usr] 

En mi caso lo haré en /usr/local/, como con todos los binarios compilados en mi sistema de forma local.

Acto seguido nos interrogará si queremos instalar la documentación, las demostraciones, y dónde. Podemos presionar Enter para aceptar las opciones por defecto.

Ahora podremos ejecutar el IDE de FreePascal. Para ejecutarlo, podremos utilizar el comando

fp

Con este nos encontraremos con la ventana principal de interfaz textual del fp-ide, el cual - como cabía de esperar - guarda fuertes reminiscencias de la del Borland Turbo Pascal 7 para DO$. La IDE en sí opera en el dialecto FreePascal, pero cuenta cuenta con varios modos de compatibilidad conmutable para diferentes implementaciones de Pascal. En particular, contaremos con el modo TP que activa la compatibilidad Turbo Pascal - activable con el sufijo -Mtp o bien directamente declarando en en el programa el ${mode TP}. También existen declaraciones para optar por los modos de compatibilidad Oject Free Pascal, Delphi, Pascal para Mac, etcétera.

La documentación de dialecto libre FreePascal podremos encontrarla en la Wiki de FreePascal. En tanto, la documentación del Turbo Pascal 7 oficial está disponible en el idioma de Braden y en gran cantidad de volúmenes y artículos que lo trataron en castellano.

En cuanto al uso y comandos del IDE, ya son clásicos. fp-ide nos facilita depurar directamente cualquier programa que use las remilgadas sintaxis de los dialectos de Pascal en busca de errores, presionando F9. En caso de error podríamos querer depurar línea a línea ("paso a paso") con F8.

La IDE también nos permitirá ejecutarlo (siempre que el código fuente no contenga errores, claro está). Para ello presionamos Ctrl+F9 o bien vamos al menú Run:

Al igual que el vetusto Borland Turbo Pascal, el ensamblado puede hacerse por medio de Alt+F9, lo que - junto al código objeto - nos dejará un archivo ejecutable para Linux.

A diferencia de los magros 16 bits nativos de Turbo Pascal, la arquitectura por defecto de FreePascal suele ser la x86_64 de 64 bits, facilitando así la inclusión en hardware moderno. Pero podremos portar y realizar compilaciones cruzadas indicándolo desde el menú Compile/Target.

Si todo va bien, deberíamos naturalmente encontrar en nuestro directorio de trabajo el fichero objeto de extensión .o y el fichero ejecutable. Esto permitirá utilizar programas en Pascal en Ubuntu sin más incordio que introducirlo y compilarlo.


2 comentarios:

  1. Gran artículo, General. Yo empecé más tarde a programas, desde Delphi 2, así que el Object Pascal lo usé por muchísimo tiempo. Ahora mantengo mis programas de Delphi 6 viejos y los nuevos los hago con Lazarus, que es la versión de Delphi para Linux. Saludos.

    ResponderEliminar
    Respuestas
    1. No sabel lo que esta haciendo falta un tutorial de Lazarus en Ubuntu....

      Eliminar