Oplossingen in alle talen tijdens Advent of Code

podcast

In deze aflevering praat Tim ons bij over de Advent of Code competitie voor 2022. Kijk op YouTube, luister op Spotify, of lees het onderstaande artikel.


De competitie rondom de Advent of Code loopt bijna af want kerst nadert met rasse schreden. Advent of Code is een adventskalender voor programmeurs waarbij je van 1 t/m 25 december elke dag twee puzzels op kunt lossen. Elke opgeloste puzzel geeft je een ster. De tweede is altijd moeilijker dan de eerste. Tim Yarally was de initiatiefnemer en binnen Eonics deden er 18 mensen mee zoals op het leaderboard te zien is. Tim: ‘De puzzels werden ook dit jaar steeds moeilijker en dat kon ik zien aan de statistieken die ik bijhield. Zeker in het weekend of death (het weekend voor kerst) was ikzelf, maar ook de andere developers, een paar uur kwijt om de puzzels op te lossen.’

Opvallend was volgens Tim ook de diversiteit aan programmeertalen die er gebruikt werden voor de oplossing. ‘Onze developer Richard gebruikte bijvoorbeeld de functionele taal Clojure maar ook Java, Python, Rust en Excell kwamen voorbij. Dat maakt deze puzzels ook leuk. Inmiddels zijn er nog 4 developers over die alle puzzels opgelost hebben. Als Henk-Jaap elke dag om 6 uur was opgestaan om de puzzels te maken, had hij bovenaan gestaan en niet ikzelf. Hua staat nu tweede, Henk-Jaap derde en mijn vriend Hans vierde en ik denk dat dit ook de eindstand blijft. De moeilijkste opdracht was zaterdag toen een schacht zich vulde met blokjes, een soort tetris. Je moest eerst uitzoeken hoe hoog je toren zou worden na 1000 blokjes en stap twee was hoe het eruit zou zien na 10 biljoen stappen. Je moet dan gaan simuleren en patronen gaan ontdekken, een herhaling in de opstapeling. Je kijkt dan bijvoorbeeld naar het eerste blokje en hoe de volgende links of rechts valt maar ook of de vloer er hetzelfde uitziet als de vorige keer. Het definiëren van de cycle, het patroon zelf kost ook al tijd.’

Het maken van de puzzels deed Marcus een beetje denken aan huiswerk maken en Tim herkent dat gevoel wel. Je wordt er als het ware ingeluisd. Gezien het succes gaat Eonics volgend jaar zeker weer meedoen en ook worden enkele puzzels omgetoverd tot een programmeercursus voor de Academy. Tim: ‘De Advent of Code is ieder jaar anders maar er zijn wel duidelijke patronen die zich herhalen in de puzzels. Zo moet je altijd wel een cycle vinden, is er veel algoritme werk en heb je echt kennis van datastructuren nodig.’ Voor wie er geen genoeg van krijgen, de Advent of Codes kunnen tot 2015 nog terug gemaakt worden om vast te oefenen voor de editie van 2023.