ZAIOS.NETBlogSoftware
7. April 2026 2 Min. Lesezeit

Solod: Go-Syntax trifft C-Performance – ein neuer Ansatz für Systemprogrammie...

Solod übersetzt einen Go-Subset in lesbares C11 – ohne Garbage Collector, ohne Runtime, aber mit Go-Tooling und Typsicherheit.

Die Frage, wie man systemnahe Software schreiben kann, ohne auf die Komfortlosigkeit von reinem C angewiesen zu sein, beschäftigt Entwickler seit Jahrzehnten. Sprachen wie Rust, Zig oder D haben in den letzten Jahren unterschiedliche Antworten auf dieses Problem geliefert. Mit Solod tritt nun ein neues Projekt auf den Plan, das einen ungewöhnlichen Weg einschlägt: Es nutzt Go-Syntax als Eingabe und erzeugt daraus lesbares, standardkonformes C11-Code – ohne jegliche Laufzeitumgebung.

Go als besseres C – die Grundidee

Solod definiert sich selbst als striktes Subset der Programmiersprache Go. Das bedeutet: Wer Solod-Code schreibt, schreibt technisch gesehen gültigen Go-Code – kann dabei aber nur einen eingeschränkten Sprachumfang nutzen. Unterstützt werden Structs, Methoden, Interfaces, Slices, mehrfache Rückgabewerte und das bekannte defer-Konstrukt. Bewusst ausgespart wurden hingegen Goroutinen, Channels, Closures und Generics – all jene Sprachfeatures, die Go's Laufzeitsystem erfordern oder die Übersetzung in einfaches C erheblich erschweren würden.

Das Ergebnis ist ein Werkzeug, das auf Zero-Runtime setzt: kein Garbage Collector, keine Reference Counting, keine versteckten Allokationen. Speicher wird standardmäßig auf dem Stack verwaltet, Heap-Allokationen sind explizit opt-in über die Standardbibliothek. Das klingt nach einem Schritt zurück – ist aber für Systemprogrammierer, Embedded-Entwickler und alle, die maximale Kontrolle über Ressourcen benötigen, ein entscheidender Vorteil.

Interoperabilität ohne Overhead

Ein besonders praktisches Feature von Solod ist die native C-Interoperabilität. Anders als bei Go's eigenem CGO-Mechanismus, der bekannt für seinen erheblichen Aufrufoverhead und seine komplizierte Build-Integration ist, soll Solod direkten Aufruf von C-Funktionen aus Solod-Code und umgekehrt ermöglichen – ohne zusätzliche Abstraktionsschichten. Das macht die Integration in bestehende C-Projekte oder die Nutzung etablierter C-Bibliotheken deutlich einfacher.

Hinzu kommt ein oft unterschätzter Vorteil: Da Solod-Code valider Go-Code ist, funktioniert das gesamte Go-Ökosystem an Werkzeugen sofort. Syntax-Highlighting, Language Server Protocol (LSP), Linter und sogar go test lassen sich ohne Anpassungen nutzen. Für Entwickler, die Go bereits kennen, sinkt die Einstiegshürde erheblich.

Einordnung: Wohin entwickelt sich die Systemprogrammierung?

Solod tritt in einen Markt ein, der in den letzten Jahren zunehmend von Rust dominiert wird. Mozilla, Microsoft, Google und zuletzt auch der Linux-Kernel haben Rust als sichere Alternative zu C etabliert. Doch Rust hat eine steile Lernkurve – das Borrow-Checker-Konzept ist für viele Entwickler eine hohe Hürde. Zig positioniert sich als moderneres, simpleres C, während Solod einen anderen Ansatz wählt: Es setzt auf eine bereits bekannte Syntax und ein vertrautes Tooling-Ökosystem.

Ob Solod das Potenzial hat, über ein Nischenprojekt hinauszuwachsen, hängt von mehreren Faktoren ab. Die bewusste Einschränkung des Sprachumfangs ist gleichzeitig Stärke und Schwäche: Sie hält das Projekt wartbar und die Ausgabe lesbar, limitiert aber die Ausdrucksmöglichkeiten. Für spezifische Anwendungsfälle – Embedded-Systeme, Betriebssystemkomponenten, performancekritische Bibliotheken – könnte Solod jedoch eine attraktive Option darstellen, gerade für Teams, die bereits Go-Erfahrung mitbringen und den Sprung zu Rust scheuen.

Quellen: Hacker News

software