Rust hat das einzigartige Feature des Ownership-Modells
Trotz der vielen Vorteile ist Ada eine überraschend unbeliebte Sprache geblieben, nicht selten aufgrund von Vorurteilen. Ben Brosgol, Senior Engineer bei Adacore und Mitglied des Design Teams für Ada 95, hat einige Mythen rund um Ada zusammengetragen und entkräftet.
Fakt ist aber, dass Ada in vielen Bereichen nahezu bedeutungslos ist und auf den ersten 25 Plätzen der schon erwähnten Most Loved Languages gar nicht gelistet ist (allerdings auch nicht in der Liste der Most Dreaded Languages, also der gefürchtetsten Sprachen). Der Support ist beschränkt, weil die meisten Tools und Services von einer einzigen Firma, Adacore, bereitgestellt werden.
Die großen Konzerne wie Microsoft und Amazon haben wenig bis gar kein Interesse an Ada. Sie interessieren sich eher für Rust, wie bei ZDNet und The New Stack zu lesen ist.
Rust ist eine von Mozilla entwickelte Programmiersprache. Das einzigartige Feature von Rust ist das Ownership-Modell. Alle Daten haben einen "Eigentümer", der den Zugriff auf die Daten an andere Funktionen "ausleihen" kann. Zur Compile-Zeit stellt der Borrow Checker sicher, dass dies kontrolliert und sicher geschieht, so dass beispielsweise Funktionen nie auf schon freigegebenen Speicher zugreifen können.
Ein weiterer Vorteil von Rust ist das hervorragende Ökosystem rund um den Rust-Compiler. Ein wichtiges Beispiel ist der mächtige Paketmanager Cargo für Rust, der den Bau von Rust-Programmen und -Bibliotheken übernimmt, die Erstellung von Dokumentationen und die Ausführung der Tests.
Bibliotheken für Rust sind zentral auf crates.io gesammelt, die dazugehörige Dokumentation ist auf docs.rs verfügbar. Jeder Entwickler kann die selbst entwickelten Rust-Programme auf diesen Plattformen registrieren. Für Ada ist übrigens ein ähnlicher Paketmanager, alire, derzeit in Entwicklung.
Die Nachteile von Rust? Die Lernkurve von Rust ist extrem steil und Rust-Programme lassen sich deutlich schwieriger lesen und verstehen als in Ada entwickelte Programme. Während man beispielsweise bei Ada konsequent auf Makros verzichtet hat, haben die Rust-Entwickler die Funktionalität von Makros auf die Spitze getrieben.
Makros in Rust ersetzen nicht einfach einen Text durch einen anderen Text, sondern können den Syntaxbaum des Eingabeargumentes nahezu beliebig umformen. Das ermöglicht zwar Meta-Programming und produktive domainspezifische Lösungen, kann aber den Code auch beliebig verwirrend machen. Ein schönes Anti-Beispiel für den Gebrauch von Rust-Makros ist Daniel Keeps Implementierung der Ook!-Sprache.
Folgende Tabelle zeigt noch einmal alle Vor- und Nachteile von C/C++, Rust und Ada im Überblick:
Dass Rust und Ada als Programmiersprachen Vorteile bieten, ist jedoch ein rein akademisches Argument, wenn die für die Entwicklung benötigten Werkzeuge nicht vorhanden sind. Ist das Angebot ausreichend, um Entwickler zu einem Umstieg zu bewegen?
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Embedded Systems: Sicher entwickeln mit Rust und Ada | Mit Ada eingebettete Systeme entwickeln |
es ist LLVM. Für GCC gibt es nur etwas in der frühen Entwicklung.
Kommentieren