Nous avons lu pour vous : Embracing Modern C++ Safely

Posté par  (site web personnel) . Édité par small_duck, Lawless, alkino, pulkomandy, serge_sans_paille et Ysabeau 🧶. Modéré par Ysabeau 🧶. Licence CC By‑SA.
Étiquettes :
27
9
sept.
2022
C et C++

Embracing Modern C++ Safely par John Lakos, Vittorio Romeo, Rostislav Khlebnikov, et Alisdair Meredith, est un livre couvrant les nouveautés apportées au langage C++ dans ses versions 11 et 14. Les auteurs sont tous employés de Bloomberg et présentent chaque addition au langage sous couvert de l’expérience qu’ils en ont eu au quotidien dans leur métier.

Compiler Explorer a 10 ans

Posté par  (site web personnel) . Édité par Benoît Sibaud et Xavier Teyssier. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
50
30
mai
2022
Technologie

Matt Godbolt, l'auteur originel de Compiler Explorer nous apprend sur son blog que l'outil a atteint 10 ans le 22 mai 2022.

Compiler Explorer est un site web sur lequel l'utilisateur peut écrire un programme et observer l'assembleur généré par le compilateur. Il s'agit d'un logiciel libre, écrit en JavaScript, et disponible sous les termes du contrat BSD-2-clause.

Journal Comparatif d'outils d'analyse mémoire

36
21
avr.
2022

Cher journal,

Il n'y a pas si longtemps, j'ai dû faire un comparatif d'outils d'analyse mémoire dans nos programmes, pour le boulot. Tu connais sûrement ce genre d'outils, tels que Valgrind ou Address Sanitizer, sous le nom de memory sanitizers. Ces deux là sont assez connus mais il en existe d'autres tels que Dr. Memory (que je ne connaissais pas) ou encore Intel Inspector (que je ne connaissais qu'à peine).

D'une manière générale ces outils fonctionnent en gardant (…)

Journal Recherche de valeur dans un tableau et l'écosystème des compilateurs C++

Posté par  (site web personnel) . Licence CC By‑SA.
72
3
oct.
2021

Bonjour 'nal,

GCC, Clang, MSVC, sont tous des compilateurs très performants, ayant de nombreuses heuristiques pour émettre des instructions terriblement efficaces, à défaut d'être optimales. De même pour ICC, le compilateur d'Intel, réputé pour enterrer tous les autres en termes de performance du code généré. On en parle pas beaucoup mais il est là. (Tiens, d'ailleurs, savais-tu qu'Intel migrait son compilateur vers LLVM ? Le nouveau compilateur se nomme ICX pour le C, et ICPX pour le C++.)

Il (…)

Journal J'ai mangé une pomme

Posté par  (site web personnel) . Licence CC By‑SA.
77
24
août
2021

C'était une pomme de mon jardin.

Bonjour 'nal !

Aujourd'hui j'ai envie de te parler de ce qu'il se passe au delà de la fenêtre. Non, pas celle que t'affiche ton écran, plutôt celle qui est dans le mur. Faite de verre et de bois, ou d'aluminium, ou de PVC, elle marque une séparation avec cet univers mystérieux connu sous le nom d'extérieur. Viens, je t'emmène dans mon jardin.

L'apprenti jardinier

Assez rapidement après nous être installés dans notre logement (…)

Journal Compter en C++, de 98 jusqu'à 11

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
37
2
juin
2021

Salut 'nal,

Non, ça ne fonctionne pas.

Bonjour 'nal,

Ah c'est mieux !

Il y a quelques temps, un collègue m'a proposé de faire une présentation au sein de la boîte pour faire le tour des modifications qui ont été apportées au langage C++ depuis la version de 2011. J'ai commencé à faire quelques slides en me concentrant sur les parties qui me semblent essentielles mais, assez rapidement, il m'est paru clair qu'il faudrait plus d'une présentation si je voulais (…)

Journal Constexpr versus template

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
29
23
avr.
2021

Bonjour 'nal,

J'étais tranquille, en train de m'occuper de mes propres affaires, quand soudain je me suis demandé si l'utilisation de constexpr introduit dans C++11 pouvait réduire les temps de compilation par rapport à la méthode précédente de la métaprogrammation via des templates.

Pour rappel, l'idée de constexpr est d'indiquer au compilateur que la fonction ou variable concernée peut être calculée à la compilation si tous ses paramètres sont connus, et doit être calculée ainsi si elle apparaît dans un (…)

Journal Allez, il fallait bien que ça arrive

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
50
9
avr.
2021

Bonjour 'Nal,

J'ai les boules, un peu les glandes, et les… ouais tu vois le genre.

Il y a chez moi un petit Eee PC qui nous sert de NAS et rend quelques autres menus services : il fait tourner Apt Cacher, Transmission, stocke quelques dépôts Git pour divers petits trucs perso, et surtout un partage NFS où nous mettons les trucs à partager (le KeyPass, les photos, quelques documents, etc.)

Histoire d'avoir un peu de crédit dans les dîners (…)

Journal Découvrir Docker, Python, LLVM et Emscripten

Posté par  (site web personnel) . Licence CC By‑SA.
34
23
fév.
2021

Alors que l'année 2020 se terminait, je me suis mis à faire un petit tour des outils qui sont rentrés dans mon quotidien pendant cette période. Ça t'intéresse ? Allez, regardons ensemble.

Docker

Je ne connaissais Docker que de nom et j'avais entendu ici et là que c'était chouette pour isoler des trucs. C'est vrai que c'est chouette.

Si tu développes une application sous Linux, c'est un vrai gain d'avoir une image Docker avec toutes les dépendances de ton application (…)

Journal Une histoire de smartphones

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
37
28
sept.
2020

Ce juornal n'est pas un juornal sur le cyclimse, ni sur les tranpsorts en commun.

J'ai acheté mon premier smartphone en 2013 pour une raison toute simple : je me suis retrouvé à aller travailler à l'autre bout de la ville et je faisais le trajet en voiture, vingt à quarante minutes matin et soir selon le trafic, pas fun. À l'époque Waze était au sommet de sa popularité, ce qui m'a motivé à acheter l'appareil qui va bien pour (…)

Journal Tests de bibliothèques signal-slot en C++

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
40
28
avr.
2020

Le savais-tu, chaque jour de nouvelles bibliothèques C++ pour gérer des signaux et des slots voient le jour. Il y en a tellement qu'on estime aujourd'hui qu'il existe environ 1,14 bibliothèques de ce type pour chaque développeur C++. Jetons-y un coup d'œil.

Le guépard court plus vite qu'une armoire

Le mécanisme dit de signal et de slot est une façon d'implémenter le patron de conception de l'observateur. Dans l'idée, le principe consiste à permettre l'inscription à un événement (…)

Journal Exercices de programmation et benchmarks

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
48
11
fév.
2020

Bonjour 'nal,

Un petit exercice d'algorithmique m'a récemment poussé à regarder en détail l'impact de différentes approches sur les performances et à remettre en question des connaissances que je croyais solides. Laisse-moi te raconter ce voyage.

Pour être en bonne santé, exercez-vous régulièrement

J'aime bien pratiquer des exercices de programmation sur des sites tels que CodinGame ou CodeSignal. Si tu ne connais pas, ces sites proposent un petit IDE en ligne et divers problèmes d'algorithmiques avec jeux de tests associés (…)

Journal Sur le compromis entre l'anonymat et l'observation du comportement des utilisateurs

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
23
29
avr.
2019

'Jour 'Nal,

J'ai envie de te parler d'un truc pour avoir ton avis mais ce n'est pas un sujet hyper populaire dans les parages, alors je vais commencer par la fin :

Comment t'y prendrais-tu pour collecter des informations sur le comportement des utilisateurs de tes programmes tout en respectant leur anonymat et leur vie privée ?

Et maintenant les détails :)

Pourquoi observer les utilisateurs et quoi regarder

Quand je développe une application, j'ai envie de savoir quelles sont (…)

Renouvellement de l’équipe de modération

Posté par  (site web personnel) . Édité par Nils Ratusznik, Benoît Sibaud, ZeroHeure, Nÿco, Davy Defaud, patrick_g et Xavier Teyssier. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
42
18
avr.
2019
LinuxFr.org

LinuxFr.org est une place incontournable sur le Web francophone du Libre et de l’open source depuis plus de vingt ans. L’ambiance évolue avec le temps mais la communauté et les contributions émergent encore et encore. Par exemple, plus de 2 000 contenus ont été publiés chaque année ces trois dernières années. Vous pouvez vous aussi faire partie de l’aventure et apporter votre pierre à l’édifice.

En effet, d’anciens membres quittent l’équipe de modération (merci à Lucas Bonnet et tuiu pol pour le travail accompli !) et les membres restants émettent le désir d’accueillir du sang neuf (nous venons d’ores et déjà d’accueillir devnewton et Ysabeau). Pourquoi pas vous ?

Les détails sont dans la deuxième partie de la dépêche.

Journal Un petit tour des systèmes de build

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
68
14
juin
2018

Parlons un peu de systèmes de build.

Mon métier consiste à programmer des jeux vidéos destinés aux plates-formes mobiles Android et iOS. Ce qui est commun aux deux plates-formes, c’est-à-dire la plus grosse partie de l'application, est écrit en C++, et ce qui est spécifique à la plate-forme est en Java ou en Objective-C. L'intérêt principal de tout faire en C++ est que les développeurs peuvent lancer l'application directement sur leur poste de travail, sous Linux ou OSX, et tester (…)