Hola Mundo
La
ventana principal de Lazarus
Una vez instalado Lazarus y Free
Pascal, escribir nuestra primera aplicación es coser y cantar.
Lo primero que sorprende es la
cantidad de ventanas que aparecen. Cada ventana tiene una función muy útil, y
hay incluso más ventanas que pueden aparecer o desaparecer, pulsando el menú
Ver. Por supuesto, si te estorban, puedes cerrarlas; solo la ventana principal
donde está el menú es necesaria, las demás se pueden abrir y cerrar libremente.
Recomiendo echar un vistazo general a
la aplicación, y configurarla a gusto de cada uno. En el menú
"Entorno" se encuentran tanto las opciones generales como las del
editor. Como puede comprobarse en la foto, he puesto colores personalizados,
pues me gusta el color azul retro del antiguo Turbo Pascal para el código.
La ventana donde pasarás la mayor
parte del tiempo, es, por supuesto, la del código. Hay otra muy importante
debajo, la de mensajes, que informa de todos los errores que pueda encontrar el
compilador. Las otras ventanas que se ven en la foto son el editor de
interfaces y la lista de propiedades de los controles. Hablaremos más sobre
esto en futuras lecciones, pero por el momento, puede ser divertido
experimentar un rato.
La primera
aplicación
Tras el primer "shock"
inicial, te enseñaré a escribir tu primera aplicación en pascal:
En el menú Proyecto, selecciona Nuevo
Proyecto, y la opción de proyecto personalizado. Con esto crearemos el programa
más sencillo posible, a ejecutar desde la consola.
Efectivamente, como se trata de un
programa de consola, y te encuentras en un editor gráfico, debes indicar a
Lazarus que quieres que se ejecute un terminal cuando sea compilado. Por lo
tanto, antes de nada, ve al menú Ejecutar, y en Parámetros de ejecución
selecciona la opción "Usar al lanzar la aplicación". En la entrada
justo debajo verás que sale la orden xterm en Linux, y el intérprete de
comandos en Windows; eso es lo que pretendemos.
Sin más dilación, te explico que
significa el código que ves, que será algo parecido a esto:
program Project1;
{$mode objfpc}{$H+}
uses
Classes, SysUtils
{ you can add units after this };
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
begin
end.
De momento, no tienes que comprender
todo lo que pone. Aprenderás más adelante que significa. Como nuestro programa
es muy básico, hay cosas que nos sobran. Borra todo lo que sobre hasta que se
quede así:
program Project1;
begin
end.
Esto es todo lo que se necesita para que un
programa hecho en Pascal funcione. Por supuesto, esto no hace nada. Es lo más
básico de todo.
Lo que significa es lo siguiente:
program Project1;
Indica al compilador que este fichero se
trata de un programa, y que se llama Project1. El punto y coma del final es
siempre necesario excepto para algunos casos; significa que detrás de ello van
otras instrucciones.
begin
end.
Significa que ejecute todo lo que hay entre begin end.. Evidentemente, no hay
nada, por eso no ejecuta nada. Pon algo interesante en medio:
program Project1;
begin
writeln('¡Hola mundo!');
end.
A continuación, salva el proyecto. Preguntará el nombre del fichero, ponle el nombre leccion1.lpi, guardándolo en un directorio que te convenga.
Te habrás dado cuenta, que, tras
salvarlo, el nombre del programa ha cambiado automáticamente:
program leccion1;
begin
writeln('¡Hola mundo!');
end.
Efecticamente, ahora es leccion1. Correcto.
Finalmente, pulsa Ejecutar (en el
menú ejecutar), o F9. Saldrá una ventana con un contenido similar a este:
/home/javi/program/pascal/lecciones/leccion1
¡Hola mundo!
--------------------------------------------------
Press enter
Lo que nos interesa aquí es, por
supuesto, el ¡Hola mundo! que se ve en medio...
¿Porqué ha sucedido esto? No hay que
ser muy listo para ver que ello tiene que ver con esto:
writeln('¡Hola mundo!');
Lo que significa es: escribe una nueva
línea con el contenido '¡Hola mundo!' en la consola. writeln no es más que una entre las miles de
funciones que hay disponible en Pascal. Programar consiste en llamar a
funciones que ya están hechas, o hacer unas propias si no están disponibles. En
este caso, writeln es la función que se encarga de
escribir datos en la consola.
Distribuir tu
aplicación
Parece sorprendente, pero tu
aplicación ya está lista para ser empaquetada y mandada a los amigos. Si vas al
directorio del proyecto, te encontrarás con el archivo leccion1.exeen Windows o
simplemente leccion1 en Linux y OS X. Este es un ejecutable
con todo lo necesario para ejecutarse en otras máquinas.
Tanto en Windows como en Linux puedes
ejecutar la aplicación en la consola como de costumbre:
cd directorio_donde_esta
./leccion1 => si es en linux y OS X
leccion1 => si es windows
Por supuesto, es un programa tan
tonto que difícilmente encontrarás a alguien interesado... pero es una buena
forma de demostrar lo simple que es crear aplicaciones con Lazarus/FreePascal.
Compara esto con los archivos Java y el lío de configuración de los jar, make,
los headers de C y C++, etc. Es más, en las próximas lecciones veremos que más
cosas buenas tiene Pascal que ofrecer en este aspecto.
Incluso para más adelante, cuando las
aplicaciones sean gráficas, es igual de fácil compilarlas y empaquetarlas.
Free Pascal enlaza las aplicaciones
estáticamente, por defecto. Esto significa que todo lo necesario (excepto por
supuesto las librerías del sistema) está contenido en el ejecutable. No más
follón con dependencias.
Finalmente, una aplicación creada en
Windows es recompilable, generalmente sin cambios, en Linux y OS X. Eso
significa que, generalmente, solo hay que hacer el esfuerzo de programar en una
plataforma y chequear que funciona en las otras, ¡así de simple! Y si lo
precisas, puedes hacer pequeños ajustes para cada plataforma.