Lázarus, la resurrección de Turbo Pascal

A los que creían que el lenguaje Pascal estaba muerto y sepultado, deberían saber que después de Turbo Pascal, este reencarnó en Delphi y procreó a Free Pascal.

A pesar del boom del C++, Pascal nunca estuvo muerto del todo, los de Borland mantuvieron vivo el espíritu Niklaus Wirth en su formidable Delphi, agregándole mejoras notables para tenerlo en forma con las nuevas tecnologías y paradigmas de la programación orientada a objetos. Delphi se convirtió en una herramienta profesional para aplicaciones de todo tipo, desde utilitarios sencillos hasta software empresarial.

Y como si fuera poco, cuando Borland enterró al viejo Turbo Pascal, nació de sus cenizas, como un ave fénix, el grandioso Free Pascal, un software libre como el viento y como su mismo nombre lo indica. Ya no hay excusa para no usar el Pascal, no nos cuesta nada.

Free Pascal es la reencarnación más pura de Turbo Pascal. Tanta es su reverencia, que no ha querido despojarse de la antigua interfaz en modo texto que nos maravillaba en los años 90.

20130531-fpc.gif

Pero no nos engañemos, detrás de esta triste fachada (pero útil), se esconde el más potente compilador libre de Pascal. Por cero dólares, tenemos un compilador de 32 o 64 bits, que maneja el lenguaje “Object Pascal” (sí, el mismo de Delphi), con Programación orientada a objetos: clases, herencia, polimorfismo, sobrecarga de operadores,  genéricos, interfaces, multihilos, etc, etc. Y como si fuera poco, lo tenemos en varios sabores: Para Windows, para Linux, para Mac, y más etc.

Ahora, si no le gusta el modo texto con fondo azul, existe la gran IDE de desarrollo “Lazarus”, cuya apariencia intimidante, si le hace honor al gran compilador que es Free Pascal. Lazarus es prácticamente la misma interfaz de desarrollo de Delphi pero en versión libre. Lazarus, es tan similar a Delphi (la IDE),  como Free Pascal  lo es a Turbo Pascal.

20130601-lazarus_ide_v0_9_22.png

Lázarus, al igual que Delphi, es una herramienta RAD, es decir que está al mismo nivel del Visual Basic y Visual C++. Es muy apropiado para el desarrollo de aplicaciones Windows, de alto nivel, pero siempre trabajando sobre el lenguaje Object Pascal, del Free Pascal, lo cual es lógico, porque Lázarus usa este compilador, por debajo de la mesa.

El nuevo Object Pascal, ha mejorado considerablemente al viejo lenguaje de Turbo Pascal. Así que si usted abandonó al Pascal en los días del Turbo Pascal, debe saber que, ahora el Object Pascal viene recargado:

  1. Mejoras en la programación orientada a objetos (que ya venía desde Turbo Pascal 5.5). Ahora el encapsulamiento y la herencia tienen más potencia.
  2. Se soportan las plantillas o genéricos.
  3. Sobrecarga procedimientos, funciones y de operadores. Ahora Pascal se puso a la par del C.
  4. Comentarios de una sola línea. Algo que se extrañaba en el Turbo Pascal (también hay comentarios anidados (se pueden comentar los comentarios)).
  5. Desaparecen las opciones de llamadas FAR y NEAR. También los OVERLAY, ya que con la moderna arquitectura de las computadoras, no son necesarias estas opciones de optimización.
  6. Todas las evaluaciones de expresiones booleanas son en “cortocircuito”, esto optimiza la velocidad porque solo se evalúa una expresión hasta determinar su resultado.
  7. Las funciones pueden devolver tipos estructurados como registros.
  8. La instrucción “exit”, soporta ahora parámetros.
  9. En gráficos, se soporta casi todo el BGI, pero además Object Pascal viene con diversas librerías gráficas para todos los gustos.
  10. Incluye manejo de excepciones.
  11. Se incluyen secciones especiales para codigo de “Incialización” y “Finalización” en las unidades. Ya no es necesario hacer malabares con la variable “ExitProc”.
  12. Se soportan nuevos tipos de cadenas, como Unicode y terminadas en NULL.
  13. Se admiten los operadores de asignación simplificados +=, -=, *= y /=.
  14. Viene con enorme paquete de unidades nuevas, muchas de ellas orientadas a aplicaciones visuales. Algunas de las estructuras que necesitábamos crear “a mano” ya están implementadas, probadas y sacramentadas.

Todas las otras bondades a las que nos tenía acostumbrado Turbo Pascal, se mantienen aún en las versiones modernas de Object Pascal como el código INLINE (solo a modo de macro para funciones/procedimientos) o la posibilidad de inserción de código directamente en Ensamblador. Además, algunas libertades se han suprimido para permitir las nuevas características, como la necesidad de escribir la definición de un procedimiento/función FORWARD con los mismos parámetros, lo que es lógico porque de otra forma el compilador asumirá que se trata de una “sobrecarga”.

A pesar de todo, Free Pascal mantiene un nivel de compatibilidad sorprendentemente alto, con el viejo Turbo Pascal, así que si usted tenía sus viejos programas en Pascal y pensaba echarlos a la basura, piénselo dos veces.

Hace poco desempolvando unos viejos archivos, encontré entre las telarañas del disco, unos viejos programas que hice en Turbo Pascal y decidí poner a prueba al felino de Lazarus, y ¡Oh sorpresa! compilaron y ejecutaron con cero errores. Casi se me caen las lágrimas de ver correr el viejo juego, que escribí cuando era un adolescente.

Si tuviera que pedirle un deseo a los genios del gran Free Pascal, les pediría que mejoraran la depuración (Ya sé que el GDB está enamorado del C, pero podrían pedirle un poco de atención o tal vez crearse otro depurador). Es un problema, no poder ver directamente el contenido de las variables de tipo “Property” en los objetos.

Así que espero que antes de decir que Pascal está muerto (no hablo de Blaise Pascal , él si está muerto hace tiempo), consideren que hay un grupo grande de gente que rezamos el siguiente credo:

http://blog.pucp.edu.pe/item/174985/programaci-n-el-credo-del-pascal

 

Puntuación: 5 / Votos: 2

2 pensamientos en “Lázarus, la resurrección de Turbo Pascal

  • 7 Noviembre, 2013 al 7:06 am
    Permalink

    Otra cosa es que mejoró la velocidad de ejecución, en Linux es mas rapido que GCC, y en Windows es el compilador mas rapido que he probado, no se si habrá otro compilador mas rápido, lo compare con gfortran, gcc, g++, java y los visual de Microsoft

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*