Vous programmez en C ?

Si vous pensez bien programmer en C, ne lisez surtout pas l’article suivant : https://ache.one/articles/bizarrerie-du-langage-c Vous risqueriez de comprendre des syntaxes valides comme : 1 printf("%d", 2[tab]); Ou encore : 1 printf("%d", ((int[]){5, 4, 5, 2, 1})[i]); Ou également : 1 2 3 4 void foo(char tab[printf("bar")]) { printf("%zu", sizeof tab); } Et même : 1 printf("%d", a ?5??((tab):>:0); J’entends déjà dire que le C est compliqué, mais personne ne vous oblige à écrire du code compliqué (cela va même à l’encontre de la « philosophie » de Python qui dit entre autres « simple est mieux que complexe »).

par Vincent Poulailleau


On parle de moi dans un podcast américain sur Python

Oui, c’est un titre racoleur… J’apparais dans l’épisode 160 de Python Bytes Podcast, un podcast que j’écoute régulièrement pour me tenir au courant des nouvelles de l’écosystème Python. J’ai prévenu les animateurs du podcast que Guido van Rossum, le créateur de Python, avait décidé de ne plus faire partie du Steering Council, le comité de direction de Python. Je suis cité en tant que source de l’information (oui, c’est tout 😉).

par Vincent Poulailleau


Première contribution aux logiciels libres

J’ai animé un atelier pour aider des étudiants à faire leur première contribution aux logiciels libres sans avoir le besoin d’être expert en codage. L’heure est au bilan. Quoi ? Atelier « première contribution au logiciel libre » (2 ateliers indépendants de 4 heures chacun) Découverte des logiciels libres Pas besoin d’être un expert pour contribuer Participation à la traduction en français de la documentation officielle de Python python/python-docs-fr et docs.

par Vincent Poulailleau


WaveDrom : les waveforms faciles (diagrammes de timing digital)

Si vous faites régulièrement des diagrammes de timing, et que vous prenez du temps à les dessiner, et encore plus de temps à les modifier pour ajouter ou supprimer les informations manquantes, sachez qu’il existe WaveDrom qui fait cela très bien pour nous. C’est un outil gratuit et open-source (licence MIT) : https://github.com/wavedrom/wavedrom. Vous pouvez l’essayer avec l’éditeur en ligne : https://wavedrom.com/editor.html. Afin d’obtenir le diagramme suivant : Diagramme basique de timing Il faut le décrire sous forme textuelle avec une syntaxe particulière.

par Vincent Poulailleau


Itérateur, itérable, conteneur, générateur, en Python

Je vois régulièrement des confusions entre les termes itérateurs, itérables, conteneurs, générateurs. Voici le schéma à retenir : Vision globale de l’itération Commençons par la notion d’itérable. Un itérable est quelque chose que l’on peut parcourir avec une boucle for : 1 2 for un_élément in un_itérable: faire_quelque_chose_avec(un_élément) Un conteneur est quelque chose qui contient des valeurs (une liste, un dictionnaire, un set…). Un conteneur est généralement itérable (en tout cas, les listes, dictionnaires et sets le sont).

par Vincent Poulailleau