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

La place de l’Intelligence Artificielle dans les entreprises

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

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

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

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

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

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

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

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Body