Bon, je m’y prends un peu tard car je n’avais pas pensé à en faire un sujet avant que @asyd ne me le souffle dans l’oreille ce matin…
Si vous trainez sur IRC, vous n’êtes sans doute pas passé à côté du petit défi annuel qui nous anime en cette période, je veux bien sûr parler de l’Advent of Code.
Il s’agit d’une petite compétition qui existe désormais depuis de nombreuses années et qui rassemble des milliers de développeurs dans le monde.
Le but du jeu est simple : vous avez un énoncé (en anglais) d’un problème à résoudre ainsi qu’un “input” personnalisé (les données sont différentes pour tout le monde). Avec cela et armé de votre langage préféré (que j’espère être Python évidemment ), vous devez résoudre le problème et fournir le résultat au site.
Comme un calendrier de l’Avant, vous avez un problème à résoudre par jour avec une difficulté croissante dans le temps (c’est subjectif). Chaque problème est en deux parties, la première faisant office d’introduction au problème et la seconde vous demandant d’être plus créatif ou d’optimiser votre solution existante (et parfois de la refaire complètement car vous ne pouviez pas anticiper).
Les problèmes sortent tous les jours vers 6h du matin, un nombre défini de points est reversé aux joueurs qui iront le plus vite, mais il est possible de créer des leaderboards personnalisés si vous souhaitez vous challenger entre vous.
Bon après on ne va pas se mentir, le top 100 du classement est trusté par des monstres experts de ce genre d’énigmes et qui poussent le délire plus loin en ce mettant divers défis, comme des ultra optimisations en temps et/ou mémoire, l’usage d’un langage “non adapté” ou préhistorique, du code-golfing où l’objectif est de faire le script le plus court possible (au point où certains ont même inventé leur propre langage pour cela…).
Bref, il est un peu “tard” pour créer un thread journalier sur cette petite compétition amicale, mais je vous encourage à y participer même avec du retard, le plus important c’est de s’amuser et de découvrir d’autres facette de son langage de programmation favori !
D’ailleurs plusieurs membres y participent, vous pouvez retrouver leurs dépôts ici :
- @mdk mdk/aoc2024 - aoc2024 - Le Gitea de l'AFPy
- @entwanne advent-of-code/2024 at 2024 · entwanne/advent-of-code · GitHub
- @debnet GitHub - debnet/AdventOfCode2024: Advent of Code 2024
- @tut-tuuut advent-of-code-shiny-giggle/2024 at main · tut-tuuut/advent-of-code-shiny-giggle · GitHub
- @lythari GitHub - lythari/aoc2024: Advent Of Code 2024
- @Melcore GitHub - jeanlapostolle/AOC24
- @dancergraham advent_of_code_2024/advent_of_code_2024 at main · dancergraham/advent_of_code_2024 · GitHub
- GitHub - maxence-fasst/aoc2024
La liste n’est pas exhaustive, n’hésitez pas à me le dire si vous souhaitez que je rajoute le votre.
Comme vous pourrez peut-être le constater, il n’y a pas qu’une seule manière de résoudre les problèmes donnés, vous pouvez être sûrs que chacun aura sa propre méthode, ce qui en fait un outil riche d’enseignements !
Egalement, sachez que la communauté autour de ce jeu est très active sur Reddit, je vous encourage à aller jeter un oeil, ça débat parfois vivement mais on y apprend des choses intéressantes !