- Im Zig-Projekt wird vorgeschlagen, die Bibliotheken LLVM, Clang und LLD zu entfernen.
- Zig plant, eigene Optimierungspässe zu haben und Forschungsprojekte sowie Beiträge von Chipherstellern anzuziehen.
- Entfernung der Kompilierungsfunktionen für C++, Objective-C und Objective-C++ aus Zig
- Der von Zig erzeugte Maschinencode könnte in naher Zukunft weniger konkurrenzfähig sein, langfristig aber zu LLVM und GCC aufschließen oder sie übertreffen.
- Zu den Vorteilen der Entfernung von LLVM zählen klare Zuständigkeit für Bugs, einfacheres Build- und Bootstrapping, schnellere Kompilierungsgeschwindigkeiten und die Fähigkeit, benutzerdefinierte Optimierungspässe zu implementieren.
- Es wurden Bedenken hinsichtlich der Auswirkungen auf Projekte geäußert, die auf C++-Kompilierung angewiesen sind, sowie hinsichtlich einer sinkenden Verbreitung von Zig.
- Die Entfernung der Abhängigkeiten von DirectXShaderCompiler und Apples Metal-Shader-Compiler könnte schwierig sein.
- Langfristig soll ein Übergang zu einer reinen Zig-Lösung vorangetrieben werden.
- Einige Nutzer äußern Bedenken hinsichtlich der Auswirkungen auf ihre Erfahrungen in der Spieleentwicklung und auf die Nutzung bestehender C++-Bibliotheken und -Werkzeuge.
- Zigs Einfachheit und Cross-Platform-Fähigkeiten werden gelobt.
- Es wurde vorgeschlagen, das LLVM-Backend als Standard beizubehalten oder die Absenkung auf LLVM IR zu entfernen und gleichzeitig die Unterstützung für die C-Familie beizubehalten.
- Nutzer betonen die Bedeutung von Zigs Fähigkeit, C/C++-Code nahtlos zu kompilieren und performante Binärdateien zu erzeugen.
- Diskutiert wurden der potenzielle Verlust bestehender Bibliotheken und der Bedarf an Alternativen für JIT-Kompilierung.
- Der Vorschlag wird als rein negativ für Nutzer und als potenzieller Köder-und-Wechsel wahrgenommen.
- Die Bedeutung des Erhalts von Zigs Fähigkeiten für Cross-Compilation und die Integration bestehender Bibliotheken wird hervorgehoben.
- Es wurde vorgeschlagen, die Abhängigkeiten von LLVM und LLD zu entfernen und clang als optionale Abhängigkeit beizubehalten.
- Es wurden Bedenken hinsichtlich der Auswirkungen auf die Performance und der Umsetzbarkeit eines Ersatzes für LLVM geäußert.
- Die Bedeutung der Unterstützung für C++-Kompilierung für Spieleentwicklung und andere Projekte wird betont.
- Es wurde die Möglichkeit erwähnt, dass Zig die Funktionen von LLVM im Laufe der Zeit ersetzen könnte.
- Diskutiert wurden die Notwendigkeit einer vernünftigen Performance-Garantie und der potenzielle Verlust von Optimierungsmöglichkeiten.
- Die Auswirkungen auf bestimmte Bibliotheken und Werkzeuge wie ImGui und Tracy wurden erwähnt.
- Der Vorschlag, LLVM aus Zigs Toolchain zu entfernen, könnte zu einer Spaltung der Zig-Community führen.
- Einige Nutzer könnten ältere Versionen von Zig verwenden, um eine Migration zu vermeiden.
- Die Beibehaltung von LLVM bringt Herausforderungen und Einschränkungen mit sich.
- Ein Plugin-System für den Zig-Compiler könnte eine langfristige Lösung sein.
- Das Kompilieren von Zig-Programmen für andere Plattformen und Sprachen könnte weiterhin unterstützt werden.
zig cc, eine einzigartige Funktion von Zig, könnte sich als eigenes Projekt weiterentwickeln.
- Es wurde noch keine endgültige Entscheidung über den Vorschlag getroffen.
- Die Diskussion über die Entfernung von LLVM verbreitet sich in den sozialen Medien.
zig cc wird in der Community hoch geschätzt und bietet Vorteile gegenüber anderen Toolchains.
- Es ist möglich,
zig cc ohne Clang beizubehalten.
- Ein separates Projekt, das Clang bündelt, könnte bestehende Anwendungsfälle unterstützen, in denen mit Zig C++-Code gebaut wird.
- Die Aufspaltung in separate Werkzeuge oder die Einstellung von Maintainern für den Erhalt von
zig cc sind mögliche Lösungen.
- Für Codebasen, die von entfernten Funktionen abhängen, könnten Migrationswerkzeuge entwickelt werden.
- Kürzlich migrierte ein Softwareingenieur ein Projekt auf eine neuere GHC-Version, die einen nativen Codegenerator verwendet und dadurch schnellere Kompilierungszeiten bietet.
- Das Silk.NET-Projekt nutzt
zig cc und zig c++, um eine reproduzierbare Build-Umgebung für native Bibliotheken bereitzustellen und so einfache Cross-Compilation und lokale Setups zu ermöglichen.
- Ein Softwareingenieur nutzt
zig cc und zig c++ in privaten Projekten, um die einfache Cross-Compilation von Bibliotheken und ein einheitliches build.zig-Setup zu ermöglichen.
- Der Intel-C/C++-Compiler hat die Einführung von LLVM abgeschlossen und bietet damit schnellere Kompilierzeiten, bessere Optimierung und Unterstützung für GPU- und FPGA-Offloading.
- Der Vorschlag, den LLVM-Teil von Zig in ein separates, von der Community gepflegtes Projekt auszulagern, wurde gemischt aufgenommen.
- Einige Nutzer äußern Bedenken über die Entfernung der C++-Unterstützung aus Zig, während andere argumentieren, dass die Unterstützung teuer ist und nicht im Budget liegt.
- Das Zig-Team schlägt vor, dass diejenigen, denen die C++-Unterstützung wichtig ist, erwägen sollten, die Funktion finanziell oder mit ihrer Zeit zu unterstützen.
- Einige Nutzer meinen, dass die Entfernung von LLVM langfristige Vorteile bringen könnte, äußern jedoch Bedenken über die vollständige Entfernung der Unterstützung für C++ und Obj-C(++).
- Es gibt Vorschläge, den Zig-Compiler auf kleinere, schlankere Binärdateien zu reduzieren und LLVM-Funktionen als Erweiterung hinzuzufügen.
2 Kommentare
Wird damit eine Optimierung und Plattformunterstützung wie bei LLVM überhaupt möglich sein..
Hacker-News-Kommentare