Décembre 2022 / Janvier 2023

Gnu/Linux Magazine HS 122

Dossier spécial C++20

Tout ce que vous devez savoir en pratique sur le nouveau standard !

En savoir plus

14,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
GNU/Linux Magazine 272

GNU/Linux Magazine 272

Novembre / Décembre 2024
9,90 €
GNU/Linux Magazine 271

GNU/Linux Magazine 271

Septembre / Octobre 2024
9,90 €
GNU/Linux Magazine 270

GNU/Linux Magazine 270

Juillet / Août 2024
9,90 €
GNU/Linux Magazine 269
9,90 €
GNU/Linux Magazine 268

GNU/Linux Magazine 268

Mars / Avril 2024
9,90 €
GNU/Linux Magazine 267

GNU/Linux Magazine 267

Janvier / Février 2024
9,90 €
GNU/Linux Magazine 266

GNU/Linux Magazine 266

Novembre / Décembre 2023
9,90 €
GNU/Linux Magazine 265

GNU/Linux Magazine 265

Septembre / Octobre 2023
9,90 €
SOMMAIRE :

Actus

p. 06  Côté livres

Hack

p. 08  Open Watcom : et si on développait pour DOS ?

Dossier : Spécial C++20 !

p. 21  Introduction au dossier
p. 22  C++20 : évolutions du langage
p. 34  Concepts en pratique
p. 48  C++20 : la librairie std::ranges
p. 58  C++20 : la librairie std::format
p. 72  C++20 : évolutions de la STL
p. 94  C++20 : évolutions sur le parallélisme

Repères

p. 110  Reconstruire son FreeBSD pour une plateforme non supportée par la distribution binaire  

ÉDITO :

80486, le début de la fin.

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).

Le questionnement est parfaitement légitime, le temps à disposition des développeurs n’est pas infini, il ne l’est pour personne malheureusement, et supporter des architectures que quasiment plus personne n’utilise n’a pas vraiment d’intérêt, si ce n’est ludique. Oui, voir tourner un Linux 6.0 sur un 486, ou un FreeBSD 13.1 sur un Pentium est amusant, mais quiconque l’aura fait se sera rendu compte qu’au-delà du plaisir de l’exercice en lui-même, il n’y a pas grand intérêt (sauf peut-être dans l’exercice de la patience).

La suggestion de Linus d’abandonner le support 486, comme cela a été fait il y a dix ans pour le 386, a provoqué quelques commentaires, généralement liés à la sécurité, puisque plus personne ne s’occupe de ces morceaux de code. Il faut cependant faire attention, car les raccourcis sont aisés et les généralisations malheureuses trop fréquentes. Exemple :

« Microsoft est dans son bon droit de rejeter les ordinateurs dépourvus du TPM 2.0, menaçant la sécurité des utilisateurs et de l’Internet. »

Non seulement il y a tout un monde entre l’abandon d’un type de CPU obsolète depuis des années et le fait d’imposer une fonctionnalité matérielle, mais surtout, il convient de ne pas confondre sécurité et réduction arbitraire de périmètre. Ce qui menace la sécurité, ce n’est pas la diversité du matériel supporté, mais bel et bien la qualité du code et la présence de vulnérabilités. L’imposition de choses comme un TPM ou des restrictions de support matériel n’empêcheront pas les problèmes comme ceux auxquels ont fait face les utilisateurs et projets reposant sur Log4j, par exemple.

Oui, réduire la surface d’attaque est une bonne chose, mais non, ce n’est pas et ce ne sera jamais une solution miraculeuse, sauf peut-être pour enfermer l’utilisateur crédule dans une prison de verre pour sa propre sécurité...

Denis Bodor

Le magazine de référence technique pour les développeurs sur systèmes open source et les ingénieurs R&D !

GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...

Introduction au dossier : Spécial C++20 !
GNU/Linux Magazine n°122

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).

Reconstruire son FreeBSD pour une plateforme non supportée par la distribution binaire
GNU/Linux Magazine n°122

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.

C++20 : la librairie std::ranges
GNU/Linux Magazine n°122

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.

Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2024 - LES EDITIONS DIAMOND