Abo
  • IT-Karriere:

Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen

Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.

Artikel von Johannes Kanig veröffentlicht am
Spark ist eine Teilmenge von Ada.
Spark ist eine Teilmenge von Ada. (Bild: Pixabay)

Es klingt auf den ersten Blick unwahrscheinlich, ist aber wahr: Die Wahl der Programmiersprache hat maßgeblichen Anteil daran, ob Fehler passieren. Gerade bei systemnaher Programmierung wie bei Mozilla und Embedded-Programmierung wie bei Nvidia können Softwarefehler viel Schaden anrichten. Mozilla verwendet für seine neue Rendering-Engine Rust, Nvidia für bestimmte Firmware-Elemente Ada und Spark. Warum haben sie sich für diese Sprachen entschieden statt etwa für Haskell oder Kotlin? Vor allem, weil Rust und Ada anders als die beiden anderen ohne Virtual Machine und Garbage Collector auskommen. Rust haben wir schon in einem früheren Artikel auf Golem.de vorgestellt, jetzt ist Ada dran.

Was sind Ada und Spark?

Inhalt:
  1. Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
  2. Ada - numerische Typen
  3. Ada - Representation Clauses
  4. Spark kann automatisch potenzielle Fehler anzeigen

Ada ist eine prozedurale Programmiersprache wie C oder C++, enthält aber auch unverzichtbare Elemente wie Objektorientierung und Generics. Die Syntax orientiert sich eher an Pascal und nicht am C-typischen Stil mit den geschweiften Klammern. Beim Design wurde großer Wert auf die Lesbarkeit und Fehlervermeidung gelegt.

Die erste Version von Ada wurde 1983 standardisiert, im selben Jahr, in dem auch die erste Version von C++ erschien. Die Programmiersprache wurde ursprünglich für das US-Verteidigungsministerium entwickelt, bis heute ist Ada sehr präsent in Industrien wie der Luftfahrt und der Verteidigung. Teure Compiler ohne Open-Source-Alternativen machten eine weitere Verbreitung in den 1980er Jahren schwierig - heutzutage hat aber jeder Zugriff auf GCC, das Ada unterstützt.

Weitere Versionen der Sprache folgten in den Jahren 1995, 2005 und 2012. Die nächste Version soll Ada 2020 heißen und demzufolge nächstes Jahr erscheinen. Spark ist eine Schwestersprache von Ada, die einige Sprachfeatures entfernt, um noch mehr Sicherheit erreichen zu können. Jedes Spark-Programm ist also ein Ada-Programm, aber nicht unbedingt umgekehrt. Allerdings ermöglicht Spark weitreichende statische Analysen und kann zum Teil starke Garantien geben - dazu später mehr.

Die ersten Schritte

Stellenmarkt
  1. Berliner Verkehrsbetriebe (BVG), Berlin
  2. Gentherm GmbH, Odelzhausen

Der einfachste Weg, einen Eindruck von Ada zu bekommen, ist die Adacore-Learn-Webseite: Auch ohne Installation können Interessierte gleich mit Ada und Spark loslegen. Für eigene Projekte sollten die nötigen freien Werkzeuge für Ada und Spark von der Webseite von Adacore heruntergeladen und installiert werden. In der Entwicklungsumgebung mit dem Namen GNATstudio kann man entweder sein eigenes Programm schreiben ("Create New Project" im ersten Dialog) oder die vielen Beispiele ansehen (im Menu Help -> GNAT -> Examples).

Eines der grundlegendsten Features von Ada sind die numerischen Typen.

Ada - numerische Typen 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


Anzeige
Top-Angebote
  1. 79,00€
  2. 999,00€ + Versand
  3. (u. a. GTA 5 12,49€, GTA Online Cash Card 1,79€)
  4. (aktuell u. a. Dell-Notebook 519€, Dell USB-DVD-Brenner 34,99€)

demon driver 25. Jun 2019 / Themenstart

Von "unabgängiger" kann sich niemand was kaufen, und konsequent dürfte man dann nur noch...

demon driver 24. Jun 2019 / Themenstart

Nix

SirFartALot 13. Jun 2019 / Themenstart

das mag ja fuer Auftragsprogrammierer oder Freelancer normal zu sein, die...

\pub\bash0r 12. Jun 2019 / Themenstart

Wobei ausgerechnet Java (und Applets) eigentlich ein sehr gutes Sicherheitsmodell haben...

kayozz 12. Jun 2019 / Themenstart

Ja, C# bzw. .NET hat auch Schwächen. Aber das Argument würde ich so nicht stehen...

Kommentieren


Folgen Sie uns
       


Vaio SX 14 - Test

Das Vaio SX14 ist wie schon die Vorgänger ein optisch hochwertiges Notebook mit vielen Anschlüssen und einer sehr guten Tastatur. Im Golem.de-Test zeigen sich allerdings Schwächen beim Display, dem Touchpad und der Akkulaufzeit, was das Comeback der Marke etwas abschwächt.

Vaio SX 14 - Test Video aufrufen
Radeon RX 5700 (XT) im Test: AMDs günstige Navi-Karten sind auch super
Radeon RX 5700 (XT) im Test
AMDs günstige Navi-Karten sind auch super

Die Radeon RX 5700 (XT) liefern nach einer Preissenkung vor dem Launch eine gute Leistung ab: Wer auf Hardware-Raytracing verzichten kann, erhält zwei empfehlenswerte Navi-Grafikkarten. Bei der Energie-Effizienz hapert es aber trotz moderner 7-nm-Technik immer noch etwas.
Ein Test von Marc Sauter

  1. Navi 14 Radeon RX 5600 (XT) könnte 1.536 Shader haben
  2. Radeon RX 5700 (XT) AMD senkt Navi-Preise noch vor Launch
  3. AMD Freier Navi-Treiber in Mesa eingepflegt

Erasure Coding: Das Ende von Raid kommt durch Mathematik
Erasure Coding
Das Ende von Raid kommt durch Mathematik

In vielen Anwendungsszenarien sind Raid-Systeme mittlerweile nicht mehr die optimale Lösung. Zu langsam und starr sind sie. Abhilfe schaffen können mathematische Verfahren wie Erasure Coding. Noch existieren für beide Techniken Anwendungsgebiete. Am Ende wird Raid aber wohl verschwinden.
Eine Analyse von Oliver Nickel

  1. Agentur für Cybersicherheit Cyberwaffen-Entwicklung zieht in den Osten Deutschlands
  2. Yahoo Richterin lässt Vergleich zu Datenleck platzen

Google Maps in Berlin: Wenn aus Aussetzfahrten eine neue U-Bahn-Linie wird
Google Maps in Berlin
Wenn aus Aussetzfahrten eine neue U-Bahn-Linie wird

Kartendienste sind für Touristen wie auch Ortskundige längst eine willkommene Hilfe. Doch manchmal gibt es größere Fehler. In Berlin werden beispielsweise einige Kleinprofil-Linien falsch gerendert. Dabei werden betriebliche Besonderheiten dargestellt.
Von Andreas Sebayang

  1. Kartendienst Qwant startet Tracking-freie Alternative zu Google Maps
  2. Nahverkehr Google verbessert Öffi-Navigation in Maps
  3. Google Maps-Nutzer können öffentliche Veranstaltungen erstellen

    •  /