π¦π π»βπ Advent of Code (AoC) βοΈβοΈπ€Άπ
December 2, 2025 Β· View on GitHub
Overview of the years
- AoC '15 in Haskell (2 β out of 50 β)
- AoC '16
- AoC '17
- AoC '18
- AoC '19
- AoC '20
- AoC '21
- AoC '22 in Haskell and C++ (approx. 2/3 completed)
- AoC '23 in Haskell (approx. 2/3 completed)
- AoC '24 in Haskell, Rust and C++ (35 β out of 50 β)
- AoC '25 in Haskell (in progress)
- AoC '26 (yet to come)
Programming languages used
Why Haskell?
The progamming language Haskell is very well suited for mathematical notions, pure computations and and has a terse syntax. It's often marketed as "an advanced, purely functional programming language", that is declarative and statically typed.
Sometimes, however, one needs stateful computations with e. g. arrays that are better expressed in an imperative language like C++.
Why C++?
I use C++ first and foremost because I'm too lazy to use C which would require me to implement a lot of data structures and algorithms myself.
Since I'm at least as lazy as Haskell, I use therefore sometimes C++, too.
If not necessary, I don't write object oriented code.
Why Rust?
Rust is a good tradeoff between imperative and functional programming:
But for AoC '25 I'll do it only in Haskell.
About Advent of Code
Some nice videos about AoC on YouTube: