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 (…)

Journal Comment la rubrique « liens » est arrivée

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
57
22
mar.
2018

'Jour 'Nal,

Tu l'as maintenant remarqué, une nouvelle catégorie « Liens » fait son apparition sur le site. Comme j'en suis l'auteur je vais te l'expliquer un petit peu en reprenant la proposition que j'avais envoyée aux modérateurs du site puis te parler un peu de la méthode pour ajouter la fonctionnalité au site.

La rubrique Liens

Jusque là le site nous permettait de présenter des choses de manière formelle et collaborative (les dépêches) et de manière plus personnelle (les journaux). Mon (…)

Journal Publication de bibliothèques c++ sous licence libre

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
41
15
fév.
2018

Je travaille chez IsCool Entertainement en tant que développeur C++ sur des jeux pour téléphones portables. Aujourd'hui nous publions une partie de notre code en open source sur GitHub, ce qui est une bien bonne chose à mes yeux. La licence utilisée est Apache 2.

Au risque d'apparaître banal, nous essayons de partager autant de code que possible entre nos jeux sous la forme de divers modules plus ou moins indépendants et plus ou moins spécifiques au domaine. Ceux (…)

Journal Beta de Straining Coasters sur Android (et PC si vous êtes motivés)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
22
20
oct.
2016

Bonjour 'nal,

Il y a presque 5 ans j'ai participé à une game jam de developpez.com de laquelle était sorti un petit jeu nommé Roller Painting. J'en avais d'ailleurs parlé sur LinuxFR à l'époque.

Nous avions par la suite étendu le concept dans un petit jeu PC et j'ai ensuite repris ce jeu pour en faire une version mobile. Aujourd'hui je relance la version mobile en mieux, sous le nom Straining Coasters. Par rapport à la version précédente elle (…)