Découvrez les modules de C++20

Spécialité(s)


Résumé

Parmi les nouveautés majeures du langage C++20, les modules n’ambitionnent rien de moins que de changer radicalement la façon dont nous exprimons l’architecture de nos logiciels. Des pratiques ancestrales et souvent fragiles du préprocesseur pourraient n’être plus qu’un mauvais souvenir, à terme.


L’idée de la modularité en programmation n’est pas nouvelle : elle est au cœur de nombreux langages depuis des décennies. Mais il aura fallu attendre bien des années et un travail de formulation considérable pour qu’une proposition viable [1] soit enfin acceptée. Et C++ étant C++, on ne va pas se contenter d’un simple unit (Pascal) ou d’un petit with (Ada), encore moins d’un use (Rust) : le mécanisme retenu [2] se veut à la fois robuste, accessible et surtout compatible avec les « anciennes » pratiques, qui ne vont pas disparaître dans un avenir prévisible. L’effort intense consistant à éviter d’employer le mot « fichier » est en soi remarquable.

Disons-le nettement, l’exploitation des modules reste encore partielle et assez expérimentale, ce qui se voit clairement dans les différents niveaux de support des compilateurs [3]. La « meilleure » implémentation se trouve sans doute du côté d’un certain compilateur fermé très populaire...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous