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

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

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

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Quarkus : applications Java pour conteneurs

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

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

Body