Hola Mundo en ADA
SOLUCIONARIO
Hola Mundo en ADA
2024-09-06
Por
Occam's Razor

Es el turno de ADA. Un lenguaje que todavía se utiliza en el sector aeroespacial y en defensa.
with Ada.Text_IO;
use Ada.Text_IO;

procedure Hello is
begin
   -- Este es un comentario
   -- Ada.Text_IO.Put_Line ("Hello world!"); -- Si eliminamos `use`
   Put_Line ("Hello world!"); -- Comentario en línea
end;

Los programas en Ada suelen utilizar la extensión .adb (ADa Body). Al igual que con la mayoría de los otros lenguajes que hemos visto antes es necesario indicar el paquete que contiene la función de interés, algo parecido a los includes e imports que hemos visto en otros lenguajes. En Ada, el equivalente es with. La clausura use simplemente añade las definiciones en el modulo al namespace, de forma que no es necesario escribir el nombre del paquete antes de la función. De esta forma, podemos escribir Put_line, en lugar de Ada.Text_IO.Put_Line… de la misma forma que sucede con C++.

Como podéis imaginar a estas alturas, Put_Line añade un retorno de carro a la cadena que escribimos en pantalla, mientras que Put no lo hace. En general, los nombres utilizados en Ada son muy descriptivos como acabamos de ver. Quizás C# tomo esta idea de ADA?

La función (realmente procedimiento en el argot de Ada) Put_Line nos permite escribir en la consola y la proporciona el paquete Ada.Text_IO como hemos podido comprobar.

SABIAS QUE

Ada tiene una sintaxis muy parecida a Pascal y Modula 2, dos de los lenguajes más importantes en el ámbito de la programación estructurada. Si bien nunca llegó a ser un lenguaje de propósito general popular, Ada es la elección para el desarrollo de sistemas críticos, tanto en la industria espacial como en el ámbito militar. Y lo creáis o no, se utiliza todavía hoy en día

Los comentarios en Ada van precedidos de dos signos menos -- igual que en Lua o SQL, y no es posible definir comentarios de más de una línea.

Como sucede con Java, el punto de entrada del programa debe ser un procedimiento con el mismo nombre que el fichero que lo contiene. En nuestro caso, el programa anterior debe estar almacenado en un fichero llamado hello.adb.

Ada tampoco permite definir cadenas de caracteres multi-línea. Como sucedía con otros lenguajes, lo mejor que podemos hacer es concatenar los cachos de cadena que queramos. De la siguiente forma:

with Ada.Characters.Latin_1;
use Ada.Characters.Latin_1;
(...)
   Put_Line ("No podemos definir cadenas " & CR & LF
           & "de varias lineas de texto " & CR & LF
           & "directamente " & CR & LF
           & "-------------------------------");

El paquete Ada.Characters.Latin_1 es el que define las constantes CR (Carriage Return o retorno de carro) y LF (Line Feed o Avance de línea).

Para compilar el programa utilizaremos el siguiente comando:

gprbuild hello.adb -o hello.ada.bin

o si estamos utilizando el paquete Gnat

gnat make hello.adb -o hello.ada.bin

El lenguaje Ada fué originariamente desarrollado por un equipo liderado por francés Jean Ichbiah en CII Honeywell Bull bajo un contrato con el Departamento de Defensa (el famoso DoD) de los Estados Unidos entre 1977 y 1983.

Ada fue diseñado para desarrollar sistemas embebidos y de tiempo real, y este sigue siendo su principal uso en la actualidad. Como os podéis imaginar toma su nombre de la primera programadora de la historia, Ada Lovelace, condesa de Lovelace e hija legítima de Lord Byron, conocido poeta romántico británico.

Resumen

  • Lenguaje Compilado
  • Extension: adb
  • Terminador de líneas : Retorno de carro
  • Agrupa instrucciones con : begin instrucciones end
  • Comentarios multilinea : No existen
  • Comentarios misma línea: --
  • Delimitador de cadenas: "cadena"
  • Puedes imprimir textos con Ada.Text_IO.Put_Line (Añade retorno de carro)
  • Soporte cadenas múltilínea: No soportadas. Puede concatenar cadenas con &
  • No Soporta HERE-DOCS
  • Punto de Entrada: Procedimiento con el mismo nombre que el fichero

SOBRE Occam's Razor
Somos una revista libre que intenta explicar de forma sencilla conceptos tecnológicos y científicos de los que no podemos escapar. Al final, todo es más fácil de lo que parece!

 
Tu publicidad aquí :)