adaAan de slag met ada


Opmerkingen

Ada is een internationaal gestandaardiseerde, objectgerichte computerprogrammeertaal op hoog niveau die krachtig typen en gestructureerd programmeren ondersteunt. Meer informatie vindt u hier .

versies

Versie Publicatiedatum
Ada 2012 (TC-1) 2016/04/01
Ada 2012 2012/12/10
Ada 2005 2007-01-01
Ada 95 1995/12/10
Ada 83 1983-01-01

Hallo Wereld

with Ada.Text_IO;

procedure Hello_World is
begin
   Ada.Text_IO.Put_Line ("Hello World");
end Hello_World;
 

Als alternatief kunt u na het importeren van het pakket Ada.Text_IO zeggen use Ada.Text_IO; om Put_Line te kunnen gebruiken zonder expliciet aan te geven uit welk pakket het moet komen, als zodanig:

with Ada.Text_IO; use Ada.Text_IO;

procedure Hello_World is
begin
    Put_Line ("Hello World");
end Hello_World;
 

Als u de gnat compiler gebruikt, kan dit eenvoudige programma worden gecompileerd

gnatmake hello_world
 

Dit genereert een aantal bestanden, waaronder een hello_world (of hello_world.exe op Windows) die u kunt uitvoeren om het beroemde bericht te zien. De naam van het uitvoerbare bestand wordt automatisch berekend op basis van de naam van het hoofd Ada-subprogramma. In Ada kan een hoofdsubprogramma elke naam hebben. Het hoeft alleen een parameterloze procedure te zijn die je als argument aan gnatmake .

Andere compilers hebben vergelijkbare vereisten, hoewel het buildcommando natuurlijk anders is.

Installatie of instellingen

Ada is een programmeertaal waarvoor meerdere compilers bestaan.

  • Een van deze compilers, en misschien wel de meest gebruikte, is GNAT. Het maakt deel uit van de GCC-toolchain. Het kan vanuit verschillende bronnen worden geïnstalleerd:

    • De jaarlijkse GPL-uitgave van AdaCore, gratis beschikbaar op de site van Libre . Deze versie heeft alle interne tests ondergaan die AdaCore voor zijn pro-releases heeft gedaan en is beschikbaar op een groot aantal platforms. De compiler en de runtime worden vrijgegeven onder de GPL-licentie en, tenzij u geen runtime gebruikt, vallen alle uitvoerbare bestanden die u distribueert ook onder deze licentie. Voor academici en projecten in de beginfase is dit geen probleem.

    • De FSF gcc ontvangt regelmatig dezelfde patches. De versie van GNAT is misschien niet altijd up-to-date, maar haalt regelmatig de achterstand in.

    • Een aantal bijdragers verpakken die FSF-versie voor verschillende Linux-distributies (onder andere op Debian gebaseerde systemen) en binaire bestanden voor Mac OS X. Het gebruik van de pakketbeheerder uit uw distributie is misschien de eenvoudigste manier om GNAT te installeren. Dergelijke versies worden geleverd met de standaard GCC-licentie en stellen u in staat om gesloten broncode te schrijven.

    • AdaCore biedt ook GNAT Pro , dat wordt geleverd met de standaard GCC-licentie waarmee u gesloten broncode kunt schrijven. Wat nog belangrijker is, misschien komt het met ondersteuning, mocht u vragen hebben over het gebruik van de taal, hulpmiddelen, hoe u iets het beste kunt implementeren, en natuurlijk bugrapporten en verbeteringsverzoeken.

Een ander aantal compilers wordt vermeld in het Ada WikiBook , samen met installatie-instructies. Getadanow.com biedt edities van FSF GNAT, klaar voor verschillende besturingssystemen op verschillende soorten hardware of virtuele machines. De site verzamelt ook bronnen voor het leren en delen van Ada.

bibliotheken

Zoals voor elke programmeertaal, wordt Ada geleverd met uitgebreide bibliotheken om verschillende taken uit te voeren. Hier zijn enkele aanwijzingen voor sommigen van hen, hoewel zoeken op github meer zal leiden.

  • De Ada runtime zelf, verdeeld onder alle compilers, bevat een uitgebreide set pakketten en bijlagen, variërend van datastructuren en containers, tot invoer / uitvoer, stringmanipulatie, tijdmanipulatie, bestanden, numerieke berekeningen, multi-tasking, opdrachtregelschakelaars, willekeurige nummers,...

  • De GNAT-compiler wordt geleverd met zijn eigen uitgebreide runtime, met nieuwe pakketten in de GNAT hiërarchie, die ondersteuning bieden voor reguliere expressies, sorteren, zoeken, unicode, CRC, tijdinvoer / -uitvoer, ...

  • gnatcoll is een bibliotheek die beschikbaar is op de Libre-site van AdaCore, en omvat een uitgebreid logging framework, uitbreiding van applicaties met python, mmap, een uitgebreid framework voor interface met bestandssystemen, parsing van e-mailberichten en mailboxen, een uitgebreid framework voor interactie met databases in een typeveilige manier, interface naar verschillende bibliotheken zoals pictogram, leeslijn, terminalkleuren, ondersteuning voor getelde referentietypes voor automatisch geheugenbeheer, JSON-bestanden, ...

  • XML / Ada is een bibliotheek om XML-documenten te parseren en te valideren

  • GtkAda is een volledige binding met de gtk + -bibliotheek, waarmee u draagbare gebruikersinterfaces op Unix, Windows en OSX kunt schrijven.

  • AWS is een framework voor het maken van webservers in Ada, met volledige ondersteuning voor verschillende protocollen zoals HTTP, Websockets, ... en zijn eigen sjabloonsysteem.

Versie

De standaard Ada-programmeertaal is gedefinieerd in de Ada Reference Manual . Tussentijdse versiewijzigingen en release-opmerkingen worden besproken in de bijbehorende rationale-documenten. Implementaties typisch document ze voldoen aan de standaard in de vorm van een gebruiksaanwijzing en / of naslagwerk voor bijvoorbeeld .