Programmiersprachen: Zig soll die moderne Alternative zu C werden

C, C++, Rust und Go: Programmiersprachen zur systemnahen Entwicklung gibt es viele. Zig ist eine weitere und verfolgt einen minimalistischen Ansatz.

Artikel veröffentlicht am ,
Zu Zig gehört eigentlich auch Zag.
Zu Zig gehört eigentlich auch Zag. (Bild: XoMEoX/CC-BY 2.0)

Geht es in der Softwareentwicklung um systemnahes Programmieren, herrscht bei der Auswahl der Programmiersprache eigentlich kein Mangel. C oder C++, Rust und vielleicht auch Go sind die möglichen Alternativen. Und dann gibt es auch noch Zig – ein bisschen zumindest, denn die 2015 von Andrew Kelly initiierte Programmiersprache hat es bislang nicht zur Version 1.0 geschafft, Das wird auch noch eine Weile so bleiben, wie Kelly vor ein paar Monaten in einem Roadmap-Update verkündete: "2025? Das könnte klappen." Aber versprochen ist das nicht. "Kunst kann man nicht hetzen", sagte er.

Vom Konzept her ist Zig eine imperative, prozedurale, funktionale, objektorientierte, modulare Multi-Paradigmensprache. Zig-Sourcen sehen rein äußerlich wie eine Mischung aus Typescript und C aus, dazu kompatibel sind sie jedoch nicht. Zig kann aber Bibliotheken von C und C++ direkt importieren und der Compiler kann Header-Dateien für diese Sprache generieren, um umgekehrt in Zig geschriebene Programmteile in C oder C++ nutzen zu können. Verwendet wird Zig zum Beispiel schon in Bun.js.

Das Interessante steckt im Detail

Die interessanten Konzepte aber versteckt Zig in den Details. Eine Besonderheit ist, dass ein möglichst kleines Featureset enthalten sein soll. Die Entwickler finden es vorteilhaft, wenn es nur einen einzigen offensichtlichen Weg gibt, etwas zu erreichen. Eine Zeit lang hat man deshalb sogar auf For-Schleifen verzichtet, weil es While-Schleifen ja schon gab.

Interessant ist aber auch das Error-Handling-Konzept. Exceptions werden nicht geworfen, sondern einfach zurückgegeben. Weil geworfene Exceptions oft als versteckter Control-Flow missbraucht werden, gibt es das nicht, stattdessen können die Rückgabewerte von Funktionen sowohl der deklarierte Typ als auch ein Fehler sein – der Rückgabewert ist also ein Union-Typ aus Fehler-Typ und dem Typ der eigentlichen Rückgabe.

Speicher-Allocator-Objekt in der Standard Library

Wie eigentlich jede systemnahe Programmiersprache braucht auch Zig eine direkte Möglichkeit, Speicher zu allokieren. Ein direktes Malloc gibt es aber nicht, stattdessen bekommt man den Speicher über eine Anfrage an ein Allocator-Objekt in der Standard Library. Damit sollen versteckte Allokationen verhindert werden.

Könnte also wirklich interessant werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


thuering86 19. Mär 2023 / Themenstart

"Zig soll die moderne Alternative zu C werden" Nur über meine Leiche! Ich hab's satt...

pythoneer 17. Mär 2023 / Themenstart

Da ist dein Eindruck schon mal nicht schlecht. Diese beiden haben eine solide...

demon driver 14. Mär 2023 / Themenstart

Auch wahr.

Boereck 14. Mär 2023 / Themenstart

Ich finde Rusts und Zigs return basierte Varianten im Zusammenspiel mit anderen Features...

Kommentieren



Aktuell auf der Startseite von Golem.de
Wissenschaft
Wer soll an den Lithium-Luft-Akku glauben?

Forschungsergebnisse zu Akkutechnik sind in Wissenschaftsjournalen, der Wissenschaftskommunikation und Medien zu einer Frage des Vertrauens geworden. Zweifel sind oft angebracht - wie sich aktuell wieder zeigt.
Von Frank Wunderlich-Pfeiffer

Wissenschaft: Wer soll an den Lithium-Luft-Akku glauben?
Artikel
  1. Shopping: Amazon gibt Hinweis bei häufig zurückgeschickten Produkten
    Shopping
    Amazon gibt Hinweis bei häufig zurückgeschickten Produkten

    Mit einem neuen Hinweis sollen Amazon-Kunden vor dem Kauf besser abschätzen können, wie zufrieden sie mit einem Kauf sein werden.

  2. Microsoft-Geräte mit Intel sind ideal für flexiblen Einsatz
     
    Microsoft-Geräte mit Intel sind ideal für flexiblen Einsatz

    Mit modernen Geräten und einer sicheren Verwaltung ermöglichen es Microsoft Surface und Intel Beschäftigen, hybrides Arbeiten flexibel selbst zu gestalten. Die freie Wahl des Arbeitsortes stärkt die Produktivität und Motivation der Mitarbeiter.
    Sponsored Post von Office Partner

  3. Remake auf Steam: PC-Spieler bewerten The Last of Us größtenteils negativ
    Remake auf Steam
    PC-Spieler bewerten The Last of Us "größtenteils negativ"

    Die Portierung des Playstation-Spiels sorgt auf Steam für Unmut. Spieler berichten von Abstürzen und technischen Problemen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Nur noch heute: Amazon Frühlingsangebote • MindStar: MSI RTX 4080 1.249€, Powercolor RX 7900 XTX OC 999€ • Fernseher Samsung & Co. bis -43% • Monitore bis -50% • Bosch Prof. bis -59% • Windows Week • Logitech bis -49% • Alexa-Sale bei Amazon • 3 Spiele kaufen, 2 zahlen [Werbung]
    •  /