Aller au contenu principal

Questions avant d’essayer Hew

Hew vise un langage large, et v0.9.3 est une release concrète du compilateur et du runtime. Ces réponses séparent ce qui fonctionne aujourd’hui de ce que le langage est conçu pour atteindre.

Positionnement

Pourquoi Hew ?

Hew vise les services où les défaillances, la concurrence, et les frontières de protocole devraient faire partie du contrat du langage plutôt que de conventions dispersées dans des bibliothèques. Acteurs, supervision, types Wire, et compilation native sont conçus ensemble pour que le compilateur garde davantage du modèle système visible.

Pourquoi pas Elixir, Erlang, ou OTP ?

OTP reste la référence des systèmes tolérants aux pannes. Hew choisit un autre compromis : types statiques, frontières d’acteurs vérifiées à la compilation, outils sensibles aux protocoles, et sortie native LLVM en conservant la leçon let-it-crash.

Pourquoi pas Rust avec Tokio ?

Rust avec Tokio est excellent quand on veut une propriété explicite et un runtime async. Hew part d’un autre centre : acteurs, défaillance supervisée, scopes de tâches structurés, et contrats Wire sont des fonctionnalités du langage, pas une architecture que chaque projet doit assembler à la main.

Pourquoi LLVM ?

Hew a besoin d’un backend natif sérieux sans inventer un générateur de code complet. LLVM apporte des optimisations mûres et une large portée de plateformes. Le compilateur va directement du MIR Hew vers LLVM IR en Rust.

Maturité

Hew est-il prêt pour la production ?

Hew n’est pas encore prêt pour la production. Il est prêt pour les expériences, les services locaux, l’évaluation du langage, et les personnes qui veulent travailler près des internes du compilateur et du runtime. Pour les systèmes où une interruption a des conséquences commerciales ou de sécurité, la page de statut décrit la frontière actuelle.

Qu’est-ce qui fonctionne aujourd’hui ?

La release actuelle peut compiler et exécuter de vrais programmes Hew avec fonctions, types, acteurs, supervision, machines à états, types Wire, tests, Playground, et sortie native LLVM. La page d’exemples montre les meilleurs points d’entrée.

Qu’y a-t-il sur la feuille de route ?

La feuille de route suit l’ergonomie des acteurs distribués, des garanties protocole plus larges, le flux de paquets, le comportement de backpressure, le durcissement des durées de vie de ressources, et l’exploitation production. La page de statut suit chacun de ces points.

Comment Hew gère-t-il GC, propriété, nettoyage, et teardown ?

Hew n’a pas de ramasse-miettes global. Les valeurs possédées ordinaires sont libérées récursivement, l’état des acteurs reste isolé et les ressources affines gardent un seul propriétaire. Une valeur <code>#[resource]</code> se ferme automatiquement en fin de portée ; une valeur <code>#[linear]</code> doit atteindre une action de consommation explicite sur chaque chemin.

Portée du projet

Que signifie le développement par un seul mainteneur pour Hew ?

Hew est actuellement maintenu par une seule personne. La feuille de route est dimensionnée en conséquence. Les contributions ciblées — rapports de bogues, documentation, exemples, et sujets bien cadrés — s’intègrent le mieux; les travaux de conception plus larges devraient commencer dans une issue ou une discussion.

Quel lien entre versions de release et révisions HEW-SPEC ?

Ce sont deux pistes indépendantes. Une version de release Hew nomme un ensemble livré compilateur, runtime, et outils. Une révision HEW-SPEC nomme l’historique de la spécification du langage. Une release peut implémenter un niveau de spec dont le numéro ne correspond pas à celui de la release.

Prochaine étape recommandée

Exécutez un petit exemple, puis continuez.