Skip to main content

Tackling Advent of Code: A Yearly Language-Switching Journey

·2 mins

For the past few years, I have been diving into Advent of Code, the annual Christmas themed coding challenge that drops a new puzzle every day from December 1st to 25th. What started as a fun way to challenge myself has turned into a personal tradition each year, I pick a different programming language to tackle the problems. It’s a mix of pushing myself to learn, adapt, and solve puzzles.

What’s This All About? #

Advent of Code is a playground for programmers. Each day brings a fresh challenge split into two parts, ranging from algorithm to parsing text files or simulating scenarios. The problems touch on optimizing performance, data structures, traversing graphs, or even dipping into dynamic programming.

How I challenge myself? I switch languages every year. It’s a chance to step out of my comfort zone and see how different tools handle the same job. Here’s the lineup so far:

  • 2023: Python
  • 2022: Rust
  • 2021: Kotlin
  • 2020: C#

You can check out all the code in my GitHub repo.

How I Tackle the Puzzles #

For each day’s challenge, I try to write the smallest possible solution. I like to challenge myself that way and keep things tight.

Where It’s At Now #

This is an ongoing project. I’m chipping away at past years puzzles while gearing up for the next December run. The repo’s organized by year and day easy to jump in and browse. Right now it’s a mix of polished solutions and works in progress but it’s all there for anyone curious.