jeudi 25 janvier 2024
« Un résumé des nouvelles fonctionnalités du C23 qui rappelle les évolutions récentes du C++.  »
[c]
Memory Allocation [Vincent]
jeudi 21 décembre 2023
« Une explication interactive de la gestion de l'allocation de la mémoire à base de free et de malloc successifs.  »
jeudi 7 décembre 2023
« Une enquête à base de strace, perf et eBPF pour comprendre des problèmes de performance sur un CPU bien spécifique.  »
jeudi 16 novembre 2023
« Un article pour débuter en Zig et qui explique bien les spécificités du langage par rapport au langage C et comment s'y interfacer  »
[zig, c]
vendredi 7 juillet 2023
« Un tutoriel très complet sur les struct en C.  »
[c]
mercredi 17 mai 2023
« A comprehensive description, with code samples, of what happen when -ffast-math is enabled with GCC.  »
[maths, c++, c]
jeudi 27 avril 2023
« Cet article montre une manière de créer un projet C en utilisant CMake comme système de création de build et Conan comme package manager. Il propose un example de projet assez complet avec tests unitaires et sanitizers.  »
jeudi 23 mars 2023
« Thoughts about memory safety in various programming languages. This article also points to a detailed comparison between Zig and Rust.  »
[zig, rust, c]
jeudi 16 février 2023
« Related or not to this NSA's paper, the C++ community and it's creator Bjarne Stroustrup want to try to change the language to mitigate memory safety concerns.  »
jeudi 8 décembre 2022
« Benefits and costs of this adventure coming from an experienced software engineer new to Rust.  »
[c, rust]
jeudi 1 septembre 2022
« A simple yet comprehensive explanation of how libraries work, with tools detailed on each platform.  »
On transpilers [Alexandre]
jeudi 1 septembre 2022
« Un article comparant des "transpilers" de C vers Go, Rust et Zig. Est-ce bientôt la fin du C ?  »
jeudi 1 septembre 2022
« Started as an internal project by Google, Carbon should be by the end of the year a more open source project. It is announced with features like memory safety with dynamic bound checks, generics, compatibility with C++, and even an up to come package manager.  »
[c++, rust, c]
mercredi 6 juillet 2022
« If you want to learn the basics of assembly programming on x86-64 architecture with nasm. Examples with Linux and MacOs.  »
jeudi 16 juin 2022
« This simple but comprehensive tutorial could help you write your first Linux driver.  »
A comparison of Rust and C [Laurent Steff]
jeudi 9 juin 2022
« Some interesting feedback from an ex C programmer about Rust.  »
jeudi 24 mars 2022
« Un comparatif des outils valgrind et sanitizer pour vérifier l'intégrité de l'accès de vos programmes C et C++ à la mémoire.  »
jeudi 10 mars 2022
« CUDA is both a platform and an API that permit to offload computation to Nvidia GPUs. This hands-on like tutorial allow C (and with little effort C++) programmers to make their first step on Nvidia CUDA programming, from printing "Hello, world" to adding two million-entries vectors. Be wary though, as the right CUDA-Toolkit installation may be time consuming, depending on the platform, your Nvidia GPU, its installed driver ... it may be easier if some have access to GPU enabled nodes on clusters.  »
jeudi 3 mars 2022
« Une ingénieure qui conçoit et fabrique des synthétiseurs donne un aperçu des outils qu'elle utilise et de ses principes de conception.  »
jeudi 18 novembre 2021
« Cet article fait une synthèse d'un article comparant la consommation énergétique pour différents problèmes de programmation écrits dans 27 langages populaires. C est celui qui consomme le moins, tout en étant aussi le plus rapide. On pourra aussi consulter les resultats détaillés.  »
jeudi 14 octobre 2021
« The creator of ZeroMQ, Martin Sústrik, wrote this two parts blog entry back in 2012. Along with this post, he started to rewrite ZeroMQ in plain C and created nanomsg.  »
mercredi 15 septembre 2021
« For the fans of 'Ninja Code' and ASCII Art.  »
[c]
jeudi 9 septembre 2021
« For those coming from other languages and their nice unit testing framework, cmocka seems quite intuitive. This article also explains how mocking works under the hood (spoiler alert: low level linker option --wrap)  »
jeudi 24 juin 2021
« For those having notions of assembly and memory layout of a program, and interested about how works shared libraries and what PIC, GOT, PLT are, this article explains a lot.  »
lundi 17 mai 2021
« This article discuss about a small but important subset of what emscripten does: the compilation.  »
Python under the hood [Laurent Steff]
jeudi 1 avril 2021
« How Pythons' objects (integers, lists, NumPy arrays) are managed under the hood.  »
mardi 2 février 2021
« Des conseils pour bien écrire des headers en C et C++ - qui sont pour la plupart bien cernés par des outils tels que include-what-you-use.  »
[c, c++]
mardi 2 février 2021
« Tout un tas de petits exemples avec clang et son sanitizer pour détecter des problèmes en mémoire dans les codes en C. Une bonne pratique à mettre en place dans les tests unitaires, au vu de son faible coût.  »
Would Rust secure cURL? [Laurent Schneider]
jeudi 21 janvier 2021
« L'auteur reprend l'historique des bugs de la librairie cURL développée en C. Il montre l'intérêt de l'utilisation de Rust, qui aurait évité plus de la moitié des bugs.  »
[c, rust]
Include What You Use [Sébastien]
mardi 12 janvier 2021
« Jonathan Boccara, l'auteur du blog FluentCpp, fait une promotion assez active de include-what-you-use, qui permet de faire le tri dans les include des fichiers pour être sûr que tous ceux pertinents - et uniquement ceux-là - soient présents, permettant d'avoir une base de code plus structurée et un temps de compilation plus rapide. Ma propre expérience a tourné un peu court: je suis tombé sur une issue pas résolue depuis 2017 liée à l'inclusion d'une librairie externe (le ticket mentionne Boost mais c'est Xtensor-blas qui a bloqué pour moi) mais avant ce blocage ça semblait très prometteur, avec un temps d'exécution relativement rapide et des retours assez pertinents.  »
[c++, c]
jeudi 10 décembre 2020
« Une rétrospective sur la genèse mouvementée du C. J'ai été étonné d'apprendre que le nom du C aurait été donné au moment où les struct ont été ajoutées: le changement aurait été jugé tellement novateur que le renommage de New B à C en aurait découlé.  »
jeudi 15 octobre 2020
« A fairly biased but yet interesting comparisons between those languages and their communities.  »
[c++, c, go, rust]
A glimpse at C++ internals [Laurent Steff]
lundi 14 septembre 2020
« For those who are curious to understand what happens behind the scene, this article tries to explain how C++ code gets translated into low level instructions. For readability, C is used instead of assembly.  »
[c++, c]
mercredi 4 octobre 2017
«  Comparaison extrêmement détaillée des principales suites de solveurs d'équations différentielles, par le développeur de celle du langage Julia.  »
Python is not C [Christian]
vendredi 22 janvier 2016
« Le titre résume aussi bien la conclusion de ce retour d'expérience: les stratégies pour améliorer les performances de son code Python sont très différentes de celles du développement en C... »
vendredi 23 janvier 2015
«  On y explique en détail comment appeler du C, C++ ou Fortran depuis R. A travers un exemple, on voit :
  • les conversions de type entre les languages
  • comment compiler le code C, C++ ou Fortran depuis R
  • comment passer des données dans un sens, puis dans l'autre
  • comment débugger et faire du profiling de code.
 »
[c, r, fortran, c++]