
et met l'accent sur la compatibilité du langage
A l'indice TIOBE de novembre 2018, le langage C plane toujours dans le top 3 en occupant la deuxième place juste derrière Java et devant le C++. La popularité du langage n'est donc plus à démontrer. Le comité de normalisation du langage, le WG14, travaille activement sur la prochaine révision du standard C (ISO / IEC 9899). On parle de « C2x », où le "x" représente le chiffre de l'année dans laquelle cette nouvelle norme apparaîtra. L'ensemble de la procédure est régie par la Charte C2x qui décrit et corrige le type d'ajouts et d'améliorations qui seront disponible dans le C2x.
Bien que le comité ne soit pas obligé de commencer à réviser la norme actuelle, il se passe beaucoup de choses qui peuvent ou influencent directement le C. Les exemples en sont l'évolution des langages de programmation de type C (C ++, Java et C#), la menace croissante pour la sécurité sur Internet, la prise de conscience croissante des vulnérabilités des langages de programmation, le ralentissement des progrès de la loi de Moore conduisant à un besoin croissant d'exploiter un parallélisme accru et la mise à jour des normes dans des domaines connexes tels que l’arithmétique en virgule flottante.
Le Comité s’est donc efforcé d’améliorer la portabilité tout en maintenant la définition de certaines caractéristiques de C dépendant de la machine. Il a tenté d'intégrer de nouvelles idées précieuses sans perturber la structure et le tissu de base du langage. Il a essayé de développer un langage clair et cohérent sans invalider les programmes existants. Le premier brouillon contenant les modifications apportées jusqu'ici lors de la réunion d'octobre 2018 du comité à Pittsburgh vient d'être publié.
La plupart des modifications approuvées jusqu'à présent pour C2x n'impliquent pas l'ajout de nouvelles fonctionnalités, mais plutôt clarifient et affinent le comportement de C dans différentes implémentations en ce qui concerne le C ++. L'accent mis sur le raffinement va dans le sens de l'évolution des révisions précédentes du C11 et plus récemment du C17. Voici quelques changements acceptés jusqu'à présent pour le C2x :
- une clarification du mot clé restrict utilisé pour informer le compilateur qu'un objet donné en mémoire n'est accessible que par ce pointeur, à titre d'optimisation N2260 ;
- harmonisation static_assert avec C ++ N2265 ;
- meilleures définitions du comportement des syndicats DR 499 ;
- formats d'évaluation des points flottants N2186 ;
- etc.
Quelques modifications ont été aussi votées dans le C2x avec une période de 6 mois pour les éventuels commentaires ou objections en attendant la prochaine réunion du comité en avril 2019 à Londres :
- exigences d'alignement pour les fonctions de gestion de la mémoire N2293 ;
- facilitez la définition des types entiers étendus, N2303 ;
- ajouter des types entiers larges ou bignum ;
- ajoutez des interfaces génériques de type pour les fonctions de chaîne à la bibliothèque C, N2068 ;
- ajouter des constantes générales pour tous les types de données ;
- étendre le concept des expressions constantes de nombre entier ;
- etc.
La feuille de route actuelle pour C2x prévoit au moins deux ans de plus pour que les propositions soit introduites. Le WG14 vise une norme du langage révisée d'ici la fin de l'année 2021, ensuite s'ensuivra la publication en 2022. Les révisions précédentes de la norme C ont ajoutées des fonctionnalités facilitant la gestion de la mémoire, notamment la fonctionnalité de vérification des limites. Cependant, l'une des propositions pour le C2x est de rendre obsolètes ou de supprimer les API Annexe K, car leurs implémentations sur le terrain sont en grande partie incomplètes, non conformes et non portables. Les propositions alternatives incluent le remplacement de ces API par des systèmes tiers de vérification des limites tels que Valgrind ou Intel Pointer Checker, l’affinement du modèle de mémoire ou l’ajout de nouvelles méthodes de vérification des limites pour les objets de mémoire.
Source : Charte C2x
Et vous ?

Voir aussi




Vous avez lu gratuitement 744 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.