La variante 1.0 du langage Crystal de type Ruby est arrivée, avec ses créateurs promettant la stabilité du langage pour tous les lancements 1.x à venir. Les utilisateurs peuvent s’attendre à ce que toutes les versions de Crystal 1.x soient rétrocompatibles, sans changements de rupture.
Avec la version Crystal 1.0, les créateurs du langage offrent la garantie à ceux qui souhaitent utiliser le langage en production qu’il ne se cassera pas d’une version à l’autre. Les utilisateurs des futures variations de Crystal 1.x peuvent s’attendre à ce que leur code Crystal existant soit toujours compilé et fonctionne sans incompatibilité considérable. Les fonctions de langage et de bibliothèque standard ne seront pas éliminées ou modifiées d’une manière qui pourrait empêcher le code existant de se rassembler et de fonctionner. La bibliothèque de base sera améliorée en gardant à l’esprit la rétrocompatibilité.
Tenez-vous au courant des derniers développements en matière de développement d’applications logicielles. Abonnez-vous à la newsletter L’Entrepreneur First Look]
La syntaxe Crystal a été motivée par Ruby, rendant le langage simple à lire et à composer tout en diminuant la courbe de découverte pour les développeurs Ruby expérimentés, selon les créateurs de Crystal. En faisant l’objet d’une vérification de type statique, les erreurs sont capturées par le compilateur plutôt que d’attendre un arrêt de travail au moment de l’exécution.
Révélée le 22 mars, la version Crystal 1.0 est disponible sur GitHub et les instructions d’installation sur crystal-lang . org. Les constructeurs de maisons de Crystal planifient les versions de maintenance, y compris les réparations de bogues, tandis que les nouvelles fonctions sont réservées aux versions mineures ultérieures. Certaines fonctionnalités de la version Crystal 1.0 sont citées comme « initiales » et ne sont pas encore officiellement prises en charge, notamment la prise en charge de Windows, le multithreading et l’assistance Arm.
Fonctionnalités et points forts de Crystal 1.0:
- Le raisonnement de type intégré supprime la nécessité de la majorité des annotations de type.
- Une syntaxe dédiée pour appeler des bibliothèques natives élimine la nécessité de réimplémenter les tâches de bas niveau.
- Le compilateur vérifie automatiquement les références nulles au moment de la compilation.
- Pour la concurrence, Crystal utilise des threads appelés fibres pour communiquer entre eux sans avoir à utiliser de mémoire partagée ou de verrous.
- Bibliothèques sont empaquetés en tant que fragments et dispersés au moyen de Git sans avoir besoin d’un référentiel principal. Les commandes intégrées permettent de définir des relations via un fichier YAML et de les importer de référentiels particuliers.
- Un système de macros, comprenant des techniques qui obtiennent des nœuds AST au moment de l’assemblage et produisent du code collé dans un programme, fonctionne comme Crystal réponse à la métaprogrammation.