GNU/Linux Magazine Hors-série N°
Numéro
122

Dossier spécial C++20 - Tout ce que vous devez savoir en pratique sur le nouveau standard !

Temporalité
Décembre 2022/Janvier 2023
Image v3
Dossier spécial C++20 - Tout ce que vous devez savoir en pratique sur le nouveau standard !
Article mis en avant

Résumé

C++ ne date pas d'hier, il est même presque aussi vieux que le C puisque sa naissance date de 1985 (avec des prémices dès 1979) et que son papa, Bjarne Stroustrup, l'a initialement conçu comme une évolution « objet » du langage créé par Dennis Ritchie (d'où le « ++ », l'opérateur d'incrémentation du C).

Dans ce numéro...


Dans un thread récent sur la LKML (Linux Kernel Mailing List), Linus soulevait la problématique du support d'anciens processeurs et le fait que le code noyau supportant ces matériels était un véritable nid à bugs, du fait du désintérêt total à la fois des développeurs et des utilisateurs. Linux n'est pas le seul noyau/système dans cette situation et FreeBSD, par exemple, a également réglé le type minimum de CPU sur architecture i386 de 486 à 686 avec la release 13.0 mi 2022 pour la distribution binaire (construire pour 486 ou Pentium reste possible, cf. article dans ce numéro).
Voici quelques saines lectures pour vos soirées. Ces ouvrages ne sont pas nécessairement les plus récents, mais méritent de trouver place dans la bibliothèque de tout développeur qui se respecte, selon ses affinités personnelles bien sûr. Il vous faudra certes un minimum de pratique dans la langue de Shakespeare pour les « consommer », mais l’effort en vaut réellement la chandelle au regard de leur contenu...
Oui, oui. Vous avez bien lu, je parle de DOS là, le vieux ou le nouveau DOS (MS-DOS, FreeDOS, DR-DOS, etc.), ce système qui paraît aujourd'hui presque préhistorique, non multi-utilisateur et non multitâche (non, les TSR, ça ne compte pas). Il existe bien des solutions pour développer pour ce système, dont le très connu DJGPP, le portage de GCC par DJ Delorie, mais ce dont il est question aujourd'hui est le compilateur Watcom C/C++, et plus précisément Open Watcom, ainsi que son « DOS extender » DOS/4GW rendu célèbre en particulier par Doom.
C++20 n’est pas l’évolution la plus significative de C++, je dirais que pour le développeur classique, les plus grosses évolutions sont plutôt au niveau de la STL pour cette version. Il y a cependant quelques nouveautés intéressantes.
Techniques bien concrètes plutôt que notions philosophiques pour améliorer considérablement l’expressivité de la programmation générique en C++, les concepts introduits par le standard C++20 ouvrent la voie à des codes plus clairs, plus facilement corrigibles en cas d’erreur. Cerise sur le gâteau, les nouvelles syntaxes ne sont pas aussi obscures qu’on aurait pu le craindre.
Depuis sa création, la STL s’appuie sur le concept d’itérateurs pour manipuler les conteneurs, et depuis sa création, de nombreuses voix s’élèvent pour dire que ce n’est pas pratique. Cette nouvelle librairie est la réponse à cette longue complainte.
Depuis que C++ existe, le cœur des développeurs balance entre la famille printf et les flux, std::format devrait mettre tout le monde d’accord en proposant enfin une solution pratique, efficace, robuste et extensible.
Au-delà du langage, la librairie standard évolue. Certains gros sujets sont traités dans des articles séparés, ici nous allons aborder les autres sujets, qui n'en sont pas moins intéressants.
La programmation parallèle est une nécessité pour tirer pleinement profit des performances de nos CPU modernes. Depuis C++11, la librairie s’enrichit d'outils pour nous permettre de mieux mettre en œuvre nos programmes.
Recompiler et reconstruire tout un OS n'est généralement plus quelque chose qu'on fait très souvent de nos jours. Les cas sont généralement limités à quelques domaines ou obligations techniques, parmi lesquels l'embarqué, le maintien de solutions legacy, ou la simple perversité. FreeBSD, comme GNU/Linux, n'échappe pas à cette règle et bien des fois, les images binaires (USB, ISO, archives, etc.) sont suffisantes... Sauf quand ce n'est pas le cas.

Magazines précédents

Introduction à la Télémétrie avec OpenTelemetry
GNU/Linux-Magazine Hors-série N°121
Introduction à la Télémétrie avec OpenTelemetry
Créez vos interfaces graphiques & IHM en Python
GNU/Linux-Magazine Hors-série N°120
Créez vos interfaces graphiques & IHM en Python
Les nouvelles approches du développement web
GNU/Linux-Magazine Hors-série N°119
Les nouvelles approches du développement web
Big data - Du stockage au traitement...
GNU/Linux-Magazine Hors-série N°118
Big data - Du stockage au traitement...
Les cryptomonnaies en pratique
GNU/Linux-Magazine Hors-série N°116
Les cryptomonnaies en pratique

Les derniers articles Premiums

Les derniers articles Premium

Les nouvelles menaces liées à l’intelligence artificielle

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Sommes-nous proches de la singularité technologique ? Peu probable. Même si l’intelligence artificielle a fait un bond ces dernières années (elle est étudiée depuis des dizaines d’années), nous sommes loin d’en perdre le contrôle. Et pourtant, une partie de l’utilisation de l’intelligence artificielle échappe aux analystes. Eh oui ! Comme tout système, elle est utilisée par des acteurs malveillants essayant d’en tirer profit pécuniairement. Cet article met en exergue quelques-unes des applications de l’intelligence artificielle par des acteurs malveillants et décrit succinctement comment parer à leurs attaques.

Migration d’une collection Ansible à l’aide de fqcn_migration

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Distribuer du contenu Ansible réutilisable (rôle, playbooks) par l’intermédiaire d’une collection est devenu le standard dans l’écosystème de l’outil d’automatisation. Pour éviter tout conflit de noms, ces collections sont caractérisées par un nom unique, formé d’une espace de nom, qui peut-être employé par plusieurs collections (tel qu'ansible ou community) et d’un nom plus spécifique à la fonction de la collection en elle-même. Cependant, il arrive parfois qu’il faille migrer une collection d’un espace de noms à un autre, par exemple une collection personnelle ou communautaire qui passe à un espace de noms plus connus ou certifiés. De même, le nom même de la collection peut être amené à changer, si elle dépasse son périmètre d’origine ou que le produit qu’elle concerne est lui-même renommé.

Mise en place d'Overleaf Community pour l’écriture collaborative au sein de votre équipe

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Si vous utilisez LaTeX pour vos documents, vous connaissez vraisemblablement Overleaf qui vous permet de rédiger de manière collaborative depuis n’importe quel poste informatique connecté à Internet. Cependant, la version gratuite en ligne souffre de quelques limitations et le stockage de vos projets est externalisé chez l’éditeur du logiciel. Si vous désirez maîtriser vos données et avoir une installation locale de ce bel outil, cet article est fait pour vous.

Body