jeudi 14 novembre 2024
« Conséquence d'une
discussion sur le compromis entre avoir suffisamment de garanties statiques pour permettre une optimisation compétitive avec du code natif écrit en C ou Rust, et supporter toutes les formes de construction de code dynamique permises par Python. Au delà des conséquences d'un point de vue marketing (Mojo avait fait de ce "Python superset" ou "Python++" son fer de lance), cette discussion soulève des questionnements intéressants sur les contraintes et réalités autour du développement d'un nouveau langage
« grand public ». »
jeudi 24 octobre 2024
« La dernière mouture du livre de Jens Gustedt est disponible et à jour avec le standard C23. Elle est disponible gratuitement sur hal. »
jeudi 21 mars 2024
« Une série d'articles ludiques et détaillés sur la conversion d'un programme C en Rust, en rajoutant progressivement plus de garanties au code sans perdre en performance. La version finale en Rust idiomatique est même plus rapide ! »
jeudi 25 janvier 2024
« Un résumé des nouvelles fonctionnalités du C23 qui rappelle les évolutions récentes du C++. »
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 »
vendredi 7 juillet 2023
« Un tutoriel très complet sur les
struct en C. »
mercredi 17 mai 2023
« A comprehensive description, with code samples, of what happen when -ffast-math is enabled with GCC. »
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 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. »
jeudi 1 septembre 2022
« A simple yet comprehensive explanation of how libraries work, with tools detailed on each platform. »
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. »
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. »
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. »
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. »
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. »
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. »
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. »
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. »
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. »
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. »
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. »
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.
»