{{Vorlage:Sprache |Name = Ada |Inlineassembler = Nein |Compiler = GNAT (GNU Ada Compiler) |Plattformen = Linux, Windows |Homepage = [http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=45001 ISO-Norm] }} '''Ada''' ist eine nach Ada Loveleace, der ersten Programmiererin, benannte, in den 1970er Jahren von Jean Ichbiah entwickelte, strukturierte und stark typsierte Programmiersprache, deren Ziel die Entwicklung von und für eingebettete Systeme und Echtzeitanwendungen war. Ada war zudem die erste standardisierte Programmiersprache und wurde anfänglich vom US-Verteidigungsministerium gefördert. == Ada als Sprache für ein Betriebssystem == Alle Vorteile von Ada, die Laufzeitüberwachung und die parallele Verarbeitung, können nicht ohne weiteres in einem Betriebssystem (genauer: In einem Kernel) benutzt werden, ohne im Kernel selbst eine Referenzimplementierung von Ada zu programmieren. Dennoch ist es möglich, einen Kernel in Ada zu schreiben. == Testkernel in Ada == ===test.adb===
with System.Storage_Elements;

procedure test is

    pragma Suppress (All_checks);

    multiboot: constant array (0..2) of integer
        := (16#1badb002#, 0, -16#1badb002#);

    v: Array (0 .. 80 * 25 * 2) of character;
    for v'Address use System.Storage_Elements.To_Address(16#B8000#);

    s: constant String := "Hello world!";
begin
    for i in s'range loop
        v(2 * (i - 1)) := s(i);
    end loop;
end test;
===build.sh===
#!/bin/bash
gcc -c -m32 -x ada test.adb
strip -dR .eh_frame test.o
ld -melf_i386 -Ttext=0x100000 -e "_ada_test" -o test.krn test.o
== Weblinks == * GNU Ada Compiler [https://libre2.adacore.com/] * ISO-Norm Ada 2005 [http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=45001 ] [[Kategorie:Programmiersprache]]