L'objectif est d'avoir une version du langage finie et prête pour la production début 2022. Et que le compilateur supporte Linux, BSDs, Haiku et Plan 9; sur les architectures x86_64, aarch64, i686, riscv64, riscv32 et ppc64. Rien que ça.
Zig est en train de réécrire son compilateur en zig (avec ce qu'il faut pour bootstraper correctement le compilateur), donc ce n'est clairement pas encore prêt pour de la production. Mais ça paraît bien plus avancé que ce nouveau langage.
# Et par rapport à Zig ?
Posté par Bruno Michel (site web personnel) . En réponse au journal Appel à contribution pour un nouveau langage !. Évalué à 10.
C'est étrange, j'ai l'impression que c'est quasiment le même positionnement que Zig. Quelqu'un saurait dire la différence ?
L'opérateur
!permet de créer des unions avec des erreurs dans ce but : https://ziglang.org/documentation/master/#Error-Union-Type.Zig considère l'UTF-8 comme l'encodage par défaut des chaînes de caractères : https://ziglang.org/documentation/master/#String-Literals-and-Unicode-Code-Point-Literals
Zig a des « sentinel-terminated pointers » (et de même pour les tableaux et slices) : https://ziglang.org/documentation/master/#Sentinel-Terminated-Pointers
C'est un des gros points forts de Zig : https://ziglang.org/learn/overview/#integration-with-c-libraries-without-ffibindings
La grammaire de Zig m'a l'air de répondre à ça : https://ziglang.org/documentation/master/#Grammar
J'ai du mal à dire. La bibliothèque standard de Zig est là : https://ziglang.org/documentation/master/std/
Zig est en train de réécrire son compilateur en zig (avec ce qu'il faut pour bootstraper correctement le compilateur), donc ce n'est clairement pas encore prêt pour de la production. Mais ça paraît bien plus avancé que ce nouveau langage.
Côté plateforme, il doit manquer Plan 9 (https://github.com/ziglang/zig/issues/7153) et la prise en charge d'Haiku a l'air toute récente (https://github.com/ziglang/zig/pull/7546).
Pour les architectures :
https://ziglang.org/learn/overview/#wide-range-of-targets-supported (comme ça s'appuie sur LLVM, il y a déjà un paquet d'architectures prises en charge).