Advent of Code

Advent of Code est une série annuelle de défis de programmation informatique qui suit un calendrier de l'Avent[1],[2]. Il existe depuis 2015&#…

Advent of Code

Advent of Code est une série annuelle de défis de programmation informatique qui suit un calendrier de l'Avent[1],[2]. Il existe depuis 2015[3].

Les énigmes (puzzles) de programmation couvrent un vaste champ de compétences et peuvent être résolues en utilisant n'importe quel langage de programmation. Les participants s'affrontent également en fonction de leur vitesse dans les classements mondiaux et privés[1].

Histoire

Advent of Code a été créé par Eric Wastl, qui est toujours le seul responsable du projet[1],[4].

L'événement a été initialement lancé le . À minuit Heure de l'Est (UTC−05:00), 81 personnes s'étaient inscrites à l'événement, dépassant légèrement la capacité prévue de 70 participants de Wastl. En 12 heures, environ 4 000 personnes s'étaient jointes, provoquant presque un plantage du système. Après 48 heures, il y avait environ 15 000 personnes et à la fin de l'événement de 2015, le total était passé à 52 000[5].

Le , Wastl a annoncé que le projet avait atteint 1 000 000 d'utilisateurs enregistrés[6].

Conception des énigmes

Les puzzles se composent de deux parties qui doivent être résolues dans l'ordre[7],[8] avec la deuxième partie non révélée à l'utilisateur jusqu'à ce que la première partie soit résolue correctement[9]. Les participants gagnent une étoile d'or pour chaque partie qu'ils terminent, ce qui donne un total possible de deux étoiles par jour et de cinquante étoiles par an[9].

Chaque puzzle contient une trame de fond fictive qui est la même pour tous les participants, mais chaque personne reçoit une donnée d'entrée différente et devrait générer un résultat correct différent[9].

Les puzzles étaient, jusqu’en 2024, publiés quotidiennement du au à minuit (heure de l'est). À partir de 2025, ils sont publiés du au [10]. Il n'y a pas de limite de temps pour résoudre les énigmes, et les énigmes des événements des années précédentes restent disponibles pour être résolues[4].

Certains participants ont utilisé des outils tels que GitHub Copilot et ChatGPT pour aider à résoudre les énigmes[4].

Les préparatifs

Selon un commentaire dans le code HTML de chaque page du site Web de l'événement, Advent of Code s'exécute à l'aide d'un code Perl personnalisé. Wastl revendique la construction par lui-même de la quasi-totalité du site Web, y compris la conception, les animations, la prose et les énigmes. (Il s'appuie sur d'autres services pour l'authentification, l'analyse et les intégrations de médias sociaux.) [1]

Chaque année, Wastl crée et teste en amont les 25 puzzles. Cela prend 4 à 5 mois de travail par an[1].

Références

  1. a b c d et e Wastl, « About », Advent of Code, (consulté le )
  2. Joyce, « Brain teasers and other fun tips for learning Python » [archive du ], SearchBusinessAnalytics, TechTarget, (consulté le )
  3. Speed, « On the first day of Christmas, my true love gave to me... a coding puzzle and it's a doozy » [archive du ], The Register, (consulté le )
  4. a b et c [vidéo] « The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more », , GitHub (consulté le )
  5. Roberts, « This puzzle challenge brings joy to the world of code », MIT Technology Review, (consulté le )
  6. ericwastl, « #AdventOfCode just hit 🌟1,000,000🌟 registered users!!! », sur Twitter,‎ (consulté le )
  7. Gee, « Advent Of Code For Programmers » [archive du ], I Programmer, (consulté le )
  8. Fisher, « SQL Homework – December 2020 – Participate in the Advent of Code. from Blog Posts – SQLServerCentral » [archive du ], Packt Hub, (consulté le )
  9. a b et c Hjelle, « Advent of Code: Solving Your Puzzles With Python », Real Python, (consulté le )
  10. « About - Advent of Code 2025 », sur adventofcode.com (consulté le )

Liens externes

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.