Un ejemplo común de la sintaxis de un lenguaje es el programa
Hola mundo∞. He aquí una implementación en Ada con la intención de ser un primer contacto.
with∞ Ada∞.
Text_IO∞;
procedure∞ Hola_Mundo
is∞
begin∞
Ada.Text_IO.Put_Line("¡Hola, mundo!");
end∞ Hola_Mundo;
Por ahora puede ser suficiente con aprender a compilar y enlazar un programa escrito en Ada, pero si tienes curiosidad aquí va una explicación del programa.
La
cláusula with∞ establece una dependencia con el paquete
Ada∞.
Text_IO∞ y hace disponible toda la funcionalidad relacionada con la
Entrada/Salida∞ de textos.
Después se define un
procedimiento∞ como programa principal. Nótese que en Ada no tiene que tener un nombre especial como
main, simplemente ha de estar fuera de cualquier
paquete∞. Al compilar se indica cuál es el programa principal.
Ada.Text_IO.Put_Line llama al procedimiento Put_Line definido en el paquete
Ada∞.
Text_IO∞ para imprimir la
cadena∞ "¡Hola, mundo!".
Abreviando
Si no deseamos tener sentencias largas, como Ada.Text_IO.Put_Line, se pueden usar dos métodos para abreviar:
- Usar una cláusula use∞ para hacer directamente visible todas las entidades definidas en Ada.Text_IO. No es recomendable abusar de esta cláusula por las razones explicadas aquí ∞.
- Usar una cláusula renames∞, para renombrar Ada.Text_IO con un nombre más corto.
-- Con clásula use
with∞ Ada∞.
Text_IO∞;
use∞ Ada∞.
Text_IO∞;
procedure∞ Hola_Mundo
is∞
begin∞
Put_Line("¡Hola, mundo!");
end∞ Hola_Mundo;
-- Con cláusula renames
with∞ Ada∞.
Text_IO∞;
use∞ Ada∞.
Text_IO∞;
procedure∞ Hola_Mundo
is∞
package∞ T_IO
renames∞ Ada.Text_IO;
begin∞
T_IO.Put_Line("¡Hola, mundo!");
end∞ Hola_Mundo;
Compilación
Como ejemplo, con el compilador
GNAT∞ este programa se debe escribir en un archivo llamado hola_mundo.adb (el nombre del procedimiento que contiene, más .adb) y se compilaría así:
gnatmake hola_mundo.adb
Naturalmente si usas un
entorno integrado de desarrollo∞ la compilación será una opción de menú o un botón de la barra de herramientas.
El resultado es un archivo ejecutable llamado hola_mundo que imprime
¡Hola, mundo! por su salida estándar (normalmente en una ventana en modo texto).