Hablemos de FREE PASCAL y LAZARUS

Violeta, Chip, and Proy trace Free Pascal from its 1992 creation by Florian Paul Klempf after Borland abandoned Pascal, through major versions that added generics and Windows component support, to the Lazarus IDE launched in 1999 as a Delphi alternative. The language now runs on multiple architectures and powers everything from desktop apps to Castle Game Engine.
Chapters
Este capítulo podemos considerarlo una segunda parte de nuestro vídeo de Pascal.
Sí, donde la liamos bien al no mencionar ni de pasada ni a Free Pascal ni a Lazarus.
He pedido disculpas muchas veces.
Un despiste lo tiene cualquiera, pero olvidarse de Free Pascal no sé si tiene perdón.
Después el insensible soy yo, pero tenemos un problema: a ver quién cuenta esta historia. Si se nos olvidó a los tres es porque no teníamos ni idea de que existía.
Tranquilos. He hecho las tareas y me he documentado. ¿Conoces estos proyectos? No en profundidad, pero he estado haciendo los deberes y Pascal es un gran lenguaje de programación, así que no me importa explicar de dónde vienen y cómo son estos dos proyectos.
Gracias, Violeta. Pues voy a hacer de conductor del capítulo y así resuelvo mis dudas sobre estos proyectos también.
¿Eso quiere decir que nos podemos dar un descanso?
¡No! Tú ven conmigo, que tenemos una tarea pendiente.
¿Comenzamos?
¡Estoy preparada!
¿Te gustaría decidir los temas que trataremos en el canal?
Pues lo tienes muy fácil.
Entra en nuestra página web, accede con tu cuenta de Google y vota por tu favorito.
Puedes votar una vez al día para que gane el tuyo.
Eso no es trampa.
Serán tomadas en cuenta todas vuestras sugerencias en comentarios, en publicaciones y vídeos además.
Y ya que estamos, ¿por qué no darle me gusta, suscribirse y hacerse miembro?
Eso ya saben cómo hacerlo, Violeta. Estamos hablando de votos.
Totalmente. Hagamos que ganen esos lenguajes de bajo nivel, chicos.
Sigamos con el vídeo.
Borland nos abandona.
¿Cuándo pasó eso?
En el inicio de Free Pascal. Florian Paul Klempf inició el desarrollo de Free Pascal porque Borland dejó claro que Borland Pascal 7 y Turbo Pascal 7 eran las últimas versiones que haría la compañía para MS-DOS.
Entonces parece que en 1992 acabó todo.
Borland se Se estaba preparando para posicionarse en Windows y había comenzado a desarrollar un Turbo Pascal para Windows en 1991.
No me suena que Turbo Pascal estuviera disponible para Windows.
No, en muchas empresas pasa esto, pro. Quisieron darle otro aire y cambiaron el nombre completamente a Delphi.
Delphi no vio la luz hasta 1995, así que estuvieron desarrollando esta versión durante 4 años.
Cosas de Windows y su entorno, no es fácil. Aunque hablaremos de Delphi más adelante.
Cierto, Florian, a ese alumno no le gustó nada que Borland Pascal y Turbo Pascal fuesen a desaparecer y seguramente en 1992 Windows no era tan querido como lo fue a principios de siglo.
¡Exacto, pro! Florian decidió utilizar el compilador GNU de DJ Delory, otro apasionado de DOS que quiso tener un compilador al estilo GCC para su sistema operativo favorito.
Si utilizó DJGPP, entonces tuvo la posibilidad de crear ejecutables de 32 bits en lugar de 16 bits, tal y como hacían tanto Turbo Pascal como Borland Pascal.
El proceso fue largo, tardó unos 2 años hasta obtener un compilador de Pascal que pudiese compilarse a sí mismo.
¡Como debe ser!
Free Pascal se populariza. Cuando Florian publicó su compilador y comenzaron a llegar los primeros entusiastas y y colaboradores, pronto apareció una versión para Linux gracias a Michael VanCanit.
¿Qué aprovecharía realmente el compilador? Supongo que la definición del lenguaje y las primeras pasadas de la compilación, porque después de eso hay que generar un ejecutable para Linux que difiere de los ejecutables para DOS.
Yo creo que se puede aprovechar mucho más de lo que parece. Si la plataforma destino sigue siendo 8086, el código es prácticamente igual.
Sí, pero la interacción con el sistema operativo y el formato del fichero compilado varía.
No sé, pregúntale a Hexa. Yo solo te puedo decir que hubo trabajo. Al igual que cuando se portó a OS/2 o en su versión 0.99.8 a Win32.
Vaya, sí que fue rápida la adopción de diferentes plataformas.
Incluso aprovecharon para adquirir algunas características de Delphi.
Delphi se popularizó también mucho, tiene sentido que influenciase a Free Pascal.
Tanto que tuvimos un Free Pascal con características de Delphi 5 años antes de que Borland Quillix fuese lanzado.
Pero en ese punto Free Pascal no era Delphi.
No, de hecho no era ese el objetivo. El desarrollo continuó y cada vez se agregaban más plataformas. Cuando se estaba estabilizando la versión 1.0 Se comenzó a portar a Motorola 68000 y ahí destaparon la caja de Pandora.
¿A qué te refieres?
El generador de código tenía algunas limitaciones y debía ser reescrito. Por ese motivo, en diciembre de 1999 hicieron una bifurcación de 1.0 a 1.1 para reescribir y limpiar el código.
Eso deberían haberlo hecho antes de lanzar 1.0.
Ciertamente, pero lo hecho, hecho está. Había que avanzar. En 2003 se lanzó la primera beta de esta versión, pero como 1.9, y a partir de ahí se agregaron las plataformas PowerPC, ARM, SPARC y x86-64.
¡Qué follón! El cambio a 2.0 se hacía necesario.
Y parece que se dieron cuenta porque en mayo de 2005 decidieron avanzar a la versión 2.0 después de publicar más cambios y mejoras. Para resumir y avanzar, la versión 2.2 en 2006 aportó soporte de todos los viejos conocidos de los programadores de Windows: ActiveX, o esos componentes que instalamos para poder jugar a juegos; COM, o Component Object Model; OLE, u Object Linking and Embedding; Aunque como nota, algunos de ellos no estuvieron disponibles o completamente implementados hasta 2011.
Se hizo patente que había soporte completo para Windows.
También llegaron algunas novedades en el campo de la programación como los genéricos o la recursión de cola y muchas optimizaciones. Tal y como le gusta a Hexa. ¡Totalmente!
Vaya, parece que no se fueron muy lejos.
¿Los contribuidores de Free Pascal?
No, chip y hexa. Lo que sí parece es que los genéricos llegaron a Pascal mucho antes que a C++.
La versión 2.4 no fue tan apasionante, eso sí. Mejoró algunos aspectos de Windows y algunas plataformas como ARM. Quizás lo más reseñable fue una mejora en la administración del montículo de memoria principal y el rendimiento en el entorno de los hilos.
¿Alguna mejora en el lenguaje?
Por supuesto, se dio soporte a los bucles for-in, las clases selladas y las clases abstractas.
Curiosa complementación: mientras la clase sellada no puede utilizarse en la herencia, la clase abstracta tiene que usarse a través de una herencia.
Sigamos con la versión 2.6.
Espera, antes de continuar creo que es importante resolver la pregunta: ¿se popularizó Free Pascal?
A ver, popularizarse como tal... no estaba muy de moda, pero los contribuidores siguieron llegando.
Parece que también yéndose bastante rápido, es decir, no hay ningún nombre que podamos decir que sobresalga o que dé las conferencias o esté identificado como el líder indiscutible del proyecto.
No, me temo que no hay un BDFL como en Python, Perl o PHP, pero su comunidad es muy activa. Pero vamos a hablar del entorno de desarrollo de Free Pascal que muchos conocen y que llegó en 1999: Lazarus no te abandona. Los clones de Delphi no tardaron en llegar. Uno de los más famosos fue Sybil, desarrollado por la empresa alemana Speedsoft para OS/2. La primera beta fue lanzada en abril de 1997.
Muy cercano al lanzamiento de Delphi, sí.
Pero parece que esos 2 años le hicieron perder la carrera. No mucho tiempo después fue descontinuado.
No puedes ganar la carrera si copias y sigues a alguien.
Pero la empresa decidió lanzar el código fuente de su entorno y, por tanto, surgieron varios proyectos: WD Civil o el Civil de Wolfgang Traxler. OpenCivil fue tomado por NetLabs, que reemplazó el compilador de Pascal de Speedsoft e implementó Free Pascal, pero se mantuvo en OS/2. Y por último, Mejido, que buscaba hacer exactamente lo que hizo OpenCivil, pero con un enfoque más amplio porque querían ser multiplataforma.
No has mencionado Lazarus, aunque Mejido me suena al nombre hebreo del campo donde hubo muchas batallas y que en la Biblia cristiana es conocida como Armagedón.
Sí, con ese nombre es normal que todo acabara en desgracia. Mejido fue un intento en 1998 que fracasó por cambios en Free Pascal y desacuerdos internos, además de que el código de Civil estaba muy orientado a OS/2. Pero en 1999 el proyecto resucitó con otro enfoque, otras personas y energías renovadas.
¿Entonces Mejido volvió a la vida? ¿Como Lázaro?
¡Ciertamente! Por ese motivo le cambiaron el nombre a Lazarus.
Vale, entonces tras la caída de Sybil, otros proyectos intentan tomar el código y hacer algo. Algunos como WDSybil u OpenSybil tienen un éxito temporal mientras OS/2 está en auge y Mejido es un pequeño avance fallido que dio como origen a Lazarus.
Finalmente tenemos Lazarus, que se define como un IDE o entorno de desarrollo integrado compatible con Delphi.
¿Eso quiere decir que un proyecto hecho en Delphi funciona en Lazarus sin cambiar nada?
Como diría el genio, existen algunas salvedades.
Nada es perfecto.
Suficiente que resucitó, algo que el genio no podía hacer. Pero sí, no es perfecto. En teoría, si tu proyecto usa elementos estándares de Delphi debería funcionar, pero si emplea elementos específicos de Windows entonces necesitarás hacer cambios.
Supongo que si quiero el proyecto en Linux o Mac entonces los cambios serán aún mayores.
Ciertamente, aunque el entorno es muy amigable. Además, al igual que Free Pascal, Lazarus se sigue desarrollando activamente. Los últimos cambios en la web son de noviembre de 2025.
Hay que decir que con los vaivenes que ha tenido Delphi en sus años de vida, tener la opción de Lazarus siendo un software libre y en apariencia más estable es algo a tener muy en cuenta.
El ecosistema que nunca murió. Aunque es difícil saber quiénes usan Delphi y quiénes Free Pascal y Lazarus, existen páginas como Landbase donde aparecen 617 compañías usando Pascal a día de hoy. O como Datastack, donde listan 4743 compañías usando Pascal.
Pero Pascal tiene un abanico muy amplio, podrían usar Delphi, pero también Free Pascal sin necesidad de utilizar Lazarus.
¡Así es! Por su portabilidad, Free Pascal es una pieza clave en estos listados. Gracias a la gran cantidad de plataformas que soportan Pascal hoy en día, puedes encontrar en aplicaciones de escritorio, en microcontroladores, en WebAssembly, en motores para videojuegos...
Ya vimos que GameMaker solo lo usó al principio.
Sí, pero me guardé Castle Game Engine justo para mencionarlo ahora.
Suena bien. Juegos en 2D y 3D escritos en Pascal. Pero no es tan famoso como GameMaker.
También se puede encontrar Pascal en herramientas internas de empresas o software científico y médico.
No sé. En ese ámbito Python tiene más recorrido para crear herramientas internas y Julia, R o MATLAB brillan en el campo científico.
Conclusiones. Pues ya estaría.
¿Hemos oído un cierre de capítulo por aquí?
Sí, ya hemos visto que Pascal, aún viendo la caída de gigantes como Borland Pascal, Turbo Pascal y los ByVeners de Delphi, es un lenguaje que se ha negado a morir y ha seguido una estela estable, segura y bastante interesante a través de los proyectos FreePascal y Lazarus.
Suena bien, aunque lo que sí ha caído en picado es el desarrollo de aplicaciones de escritorio.
Pero no el de los videojuegos ni el de la programación de microcontroladores.
Seamos sinceros, esos nichos no son tan grandes como la programación web.
Pues ahí hemos dejado ya la tarea entregada. Lo que nos faltó sobre Pascal, este trozo de historia necesario y mi gran redención.
Aunque parece que fue Violeta quien hizo las tareas.
Detalles.
He oído un cumplido.
Ha sido una aclaración. Vamos a lo interesante, a probar la caja de comentarios.
Pues hago yo una pregunta, porque he oído un número enorme de empresas que usan Pascal. ¿Alguno lo usa de forma profesional?
¿Nos hemos dejado algo fuera otra vez?
Chip se está ablandando.
¡Que no fue un halago!
Déjanos tu comentario.
Bueno, pues ya casi lo tenemos preparado, Chip.
Ha costado, pero ya lo tenemos. Una segunda parte bien pulida.
¿Crees que tendrá más éxito que la primera parte?
¡Claro! ¿A quién no le gusta un buen shooter en primera persona?
¿Decimos algo a Proy y a Violeta?
No hace falta, ya mismo lo sabrán. Continuará.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








