• IT-Karriere:
  • Services:

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. HERMA GmbH, Filderstadt
  2. Bertrandt Ingenieurbüro GmbH Wolfsburg, Wolfsburg

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Ada - numerische Typen 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


Anzeige
Mobile-Angebote
  1. (u. a. Apple iPhone 11 Pro Max 256GB 6,5 Zoll Super Retina XDR OLED für 929,96€)
  2. 749€
  3. (u. a. Find X2 Neo 256GB 6,5 Zoll für 439,99€, Watch 41 mm Smartwatch für 179,99€)

demon driver 25. Jun 2019

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

demon driver 24. Jun 2019

Nix

SirFartALot 13. Jun 2019

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

\pub\bash0r 12. Jun 2019

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

kayozz 12. Jun 2019

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


Folgen Sie uns
       


Linux unter Windows 10 installieren - Tutorial

Wir zeigen im Video, wie man in wenigen Minuten Linux unter Windows 10 zum Laufen bringt.

Linux unter Windows 10 installieren - Tutorial Video aufrufen
    •  /