Advent of Code 2023

It’s that time of year again!

Advent of Code is a series of daily programming puzzles from December 1st to 25th, becoming progressively more difficult each day. The puzzles can be completed in any programming language- inputs are short text files and the solutions are integers. Many people use these puzzles to learn a new language or try new techniques.

Last year, we had lively daily discussions and solutions in both Ada and SPARK on the forum. This year, I want to open the conversation up to any language with a focus on safety or reliability- Ada, SPARK, MISRA-C, or any other metallic compounds.

I think we can reuse last year’s leaderboard code 1708445-6a8f7730, which you can join on the Private Leaderboards page while logged into your AoC account.


What precisely do you envision here? Do you mean something like, “Implementations in different languages are desired for comparison / contrast”?

Having completed all the puzzles for years 2018-22, this isn’t quite true: in my experience, the hardest puzzles by far are typically somewhere from days 14-19. I haven’t verified this for every year, but a glance at the statistics for some years confirms this, at least when we measure by the length of time it takes before 100 people get the correct answer.

I’m interested in seeing implementations in other languages by people familiar enough with Ada to make note of the tradeoffs.

I also want to acknowledge that these other languages (primarily Rust) exist and that this forum welcomes civil discourse about programming in general.

You’re right about the difficulty, it isn’t a linear progression. However, the easier days are usually a welcome reprieve after harder puzzles.


At AdaCore we are thinking about doing another run of Advent of Code charity we did last year.

@JeremyGrosser In case we do it, should I open another thread for the submissions or should I send people to this one?


I think a separate thread for that would be best.