Jalon majeur de Zig : Amorçage initial atteint

Zig a récemment fusionné un PR appelé " faire de l'auto-hébergement le compilateur par défaut " - ce qui signifie que le compilateur par défaut est auto-hébergé . Dans les langages de programmation, l'auto-hébergement signifie que le compilateur implémenté par le langage de programmation peut se compiler lui-même. Par conséquent, l'incorporation de ce PR signifie que Zig a initialement implémenté le bootstrap .

Depuis Zig 0.10.x, les développeurs peuvent utiliser le nouveau compilateur auto-hébergé par défaut. Bien sûr, si vous rencontrez des problèmes avec le nouveau compilateur, ajoutez -fstage1 un indicateur pour récupérer l'ancien compilateur. L'équipe de développement affirme qu'entre maintenant et 0.10.0, ils feront de leur mieux pour corriger les bogues du monde réel et prendre en charge autant de projets tiers que possible avec le nouveau compilateur.

Selon les responsables de Zig , le compilateur auto-hébergé Zig compte environ 200 000 lignes de code, y compris  les backends LLVM, WASM, C, x86_64, arm et aarch64. La base de code du compilateur est écrite en Zig au lieu de C++, utilisant beaucoup moins de mémoire et optimisant les performances.

D'après la description du PR, de nombreuses fonctions sont encore au stade de la mise en œuvre. Bien sûr, la mise en œuvre initiale d'un compilateur auto-hébergé n'est qu'une des étapes importantes pour Zig, il reste encore beaucoup de travail important à faire avant la sortie de la version 1.0 :

  1. Terminez le compilateur auto-hébergé .
  2. Fonctionnalités linguistiques stables, plus de changements de fonctionnalités linguistiques
  3. Compléter le premier brouillon de la spécification de langage
  4. Implémenter le gestionnaire de paquets officiel
  5. Fournir une bibliothèque standard stable
  6. Passez par un cycle de publication complet sans aucune modification majeure
  7. Dernière marque 1.0.

Étant donné que des changements se produiront après la fusion de ce PR, pour vous assurer que le projet se construit et s'exécute correctement, veuillez consulter ce guide .

Zig est un langage de programmation à usage général et une chaîne d'outils permettant de maintenir des logiciels robustes, optimaux et réutilisables. Zig a les propriétés intéressantes suivantes :

  • Gérer la mémoire manuellement
  • En concurrence avec C plutôt que de s'appuyer sur lui, la bibliothèque standard Zig ne dépend pas de libc
  • Léger et simple, concentrez-vous sur le débogage des applications plutôt que sur la connaissance du débogage des langages de programmation
  • Nouvelle approche de la gestion des erreurs, similaire à la gestion des erreurs C bien écrite, mais avec beaucoup moins de redondance
  • Optimisé pour des temps de compilation rapides en mode débogage et des plantages avec des traces de pile lorsqu'un comportement indéfini se produit
  • Mode ReleaseFast et mode ReleaseSafe
  • Structures de données et fonctions génériques
  • Concurrence via les coroutines
  • Importez des fichiers d'en-tête .h et utilisez directement les types, les variables et les fonctions du langage C
  • Exportez les fonctions, les variables et les types qui dépendent du code du langage C et générez automatiquement des fichiers d'en-tête .h
  • type facultatif au lieu d'un pointeur nul
  • La compilation croisée est le cas d'utilisation principal

073112_LnCS_2720166.png

Lectures complémentaires

おすすめ

転載: www.oschina.net/news/207843/zig-is-now-self-hosted-by-default