Go (Golang) unterstützt offiziell eine neue Plattform: Was bedeutet das für Entwickler?
Das Entwicklerteam der Programmiersprache Go (Golang) hat eine bedeutende Erweiterung der Liste unterstützter Plattformen bekannt gegeben. Laut dem letzten Commit im offiziellen Repository bietet Go nun volle Unterstützung für die 64-Bit-Architektur RISC-V (riscv64) im Betriebssystem FreeBSD. Dieses Update eröffnet neue Möglichkeiten für Entwickler, die mit offenen und eingebetteten Systemen arbeiten.
Warum ist das wichtig?
Bis vor kurzem unterstützte Go FreeBSD auf den Architekturen amd64 und 386. Das Hinzufügen von RISC-V ist nicht nur „eine weitere Plattform“. RISC-V ist eine offene Befehlssatzarchitektur (ISA), die in der Welt der IoT-, Embedded- und Serverlösungen schnell an Popularität gewinnt. FreeBSD wiederum ist bekannt für seine Stabilität und sein fortschrittliches Netzwerk-Subsystem. Die Kombination dieser beiden Technologien mit Go bietet Entwicklern:
- Flexibilität beim Build — die Möglichkeit, Code für FreeBSD/riscv64 von jedem System aus zu kompilieren, auf dem Go 1.22+ installiert ist.
- Bessere Leistung — native Unterstützung für Register und Optimierungen für die 64-Bit-RISC-V-Architektur.
- Vereinfachte Entwicklung — die Notwendigkeit, Drittanbieter-Cross-Compiler oder Emulatoren zum Testen zu verwenden, entfällt.
- Sicherheit — Go, FreeBSD und RISC-V bieten zusammen eine starke Prozessisolierung und Speicherschutz.
Technische Details des Updates
Die Unterstützung wird auf der Ebene des Standard-Compilers gc und des Toolchains implementiert. Beim Erstellen eines Programms kann nun GOOS=freebsd GOARCH=riscv64 angegeben werden, und Go kompiliert eine Binärdatei, die auf der entsprechenden Hardware ausgeführt werden kann. Wichtig ist, dass die Unterstützung in Go 1.21 als experimentell gilt, in Version Go 1.22 und höher jedoch bereits vollständig stabil ist. Entwickler können sie bedenkenlos in Produktionsumgebungen einsetzen, vorausgesetzt, ihre Zielplattform verwendet FreeBSD 13.2+ (oder neuer).
Wie wirkt sich das auf das Ökosystem aus?
Das Hinzufügen einer neuen Plattform ist immer ein Signal für die Community. Bereits jetzt:
- Beliebte Go-Bibliotheken (net, http, crypto) wurden aktualisiert, um auf riscv64 korrekt zu funktionieren.
- Docker-Images basierend auf FreeBSD/riscv64 werden in den kommenden Releases erscheinen.
- Entwickler von eingebetteten Systemen und Routern auf FreeBSD erhalten die Möglichkeit, in Go zu schreiben, ohne auf Kompatibilität achten zu müssen.
Was kommt als Nächstes?
Der nächste Schritt könnte nach Meinung von Insidern die stabile Unterstützung von RISC-V unter Linux (derzeit ebenfalls experimentell) und möglicherweise die Hinzufügung von ARM64 für FreeBSD (derzeit nicht unterstützt) sein. Aber auch das aktuelle Update ist ein ernsthafter Schritt nach vorne. Wenn Sie mit FreeBSD arbeiten oder einen Umstieg auf RISC-V planen, ist jetzt der richtige Zeitpunkt, Ihre Go-Anwendungen auf der neuen Plattform zu testen.
Verfolgen Sie die Updates auf der offiziellen Go-Website und im Repository golang/go auf GitHub, um keine neuen Plattformen und Verbesserungen zu verpassen.