La Enciclopedia Libre Universal en Español dispone de una lista de distribución pública, enciclo@listas.us.es

ADA

Artículo de la Enciclopedia Libre Universal en Español.

Saltar a navegación, buscar

En computación es un lenguaje de programación diseñado por el Departamento de Defensa de los Estados Unidos de América en la década de los 70 para unificar el uso de los lenguajes de programación en los proyectos que le fuesen entregados. Es un lenguaje diseñado con la seguridad en mente y es muy personalizable, pudiendo llegar desde la facilidad de PASCAL a la flexibilidad de C.

Su principal característica es que se trata de un lenguaje destinado a la gestión de procesos en tiempo real por lo que los programas de ADA no tienen un principio y un final sino que constituyen un bucle que se ejecuta de forma continua.

Su nombre recuerda a la condesa Ada Lovelace, hija de Lord Byron, a quien se considera el primer programador de la historia, por su relación con Charles Babbage, creador de la máquina analítica. El Departamento de Defensa de los Estados Unidos y los Ministerios equivalentes de varios países europeos exigen la utilización de este lenguaje en los proyectos realizados bajo su patrocinio.

Ada ha sido diseñada de la manera que permita evitar los errores comunes y difíciles para descubrir.

Ada se usa en organizaciones como el Departamento de Defensa Americano (DoD) o Boeing por su filosofía orientada a la ausencia de errores.

Existen los estándares de Ada: más viejo Ada 83 y el nuevo Ada 95, que apoya los objectos.

Ada está apoyada por el compilador GNAT, basado en el GCC.

Abajo hay un ejemplo simple (función de Ackermann) de código fuente escrito en Ada, para monstar sus rasgos principales.

with Ada.Command_Line; use Ada.Command_Line;
with Gnat.Io; use Gnat.Io;

procedure Ackermann is
    function ack (x : in integer; y: in integer) return integer is
        begin
            if (x = 0) then
                return y + 1;
            elsif (y = 0) then
                return ack(x-1,1);
            else
                return ack(x-1,ack(x,y-1));
            end if;
        end ack;
    x,y,a : integer;
begin
    if (Argument_Count = 2) then
        x := Integer'Value (Argument(1));
        y := Integer'Value (Argument(2));
    elsif (Argument_Count = 1) then
        x := 3;
        y := Integer'Value (Argument(1));
    else
        x := 3;
        y := 3;
    end if;
    a := ack (x,y);
    Put ("Ack (");
    Put (x);
    Put (",");
    Put (y);
    Put (") = ");
    Put (a);
    New_Line;
end Ackermann;

Podemos observar que:

[escribe] Referencias

Notas


Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Crear un libro