I'm actually pleasantly surprised to see a 2025 edition, last year being the 10th anniversary and the LLM situation with the leaderboard were solid indications that it would have been a great time to wrap it up and let somebody else carry the torch.
It's only going to be 12 problems rather than 24 this year and there isn't going to be a gloabl leaderboard, but I'm still glad we get to take part in this fun Christmas season tradition, and I'm thankful for all those who put in their free time so that we can get to enjoy the problems. It's probably an unpopular stance, but I've never done Advent of Code for the competitive aspect, I've always just enjoyed the puzzles, so as far as I'm concerned nothing was really lost.
>It's probably an unpopular stance, but I've never done Advent of Code for the competitive aspect
Is this an unpopular stance? Out of a dozen people I know that did/do AoC every year, only one was trying to compete. Everyone else did it for fun, to learn new languages or concepts, to practice coding, etc.
Maybe it helps that, because of timezones, in Europe you need to be really dedicated to play for a win.
No, it's not. At most 200 people could end up on the global leaderboard, and there are tens of thousands of people who participate most days (though it drops off by the end, it's over 100k reliably for the first day). The vast majority of participants are not there for the leaderboard. If you care about being competing, there are always private leaderboards.
A couple of the Slack/Discord groups I’m in do a local leaderboard with friends. It’s fun to do with a trusted group of people who are all in it for fun.
I'm also in a few local leaderboards, but I'm not "really" competing, it's more of a fun group thing.
Premises:
(i) I love Advent of Code and I'm grateful for its continuing existence in whatever form its creators feel like it's best for themselves and the community;
(ii) none of what follows is a request, let alone a demand, for anything to change;
(iii) what follows is just the opinion of some random guy on the Internet.
I have a lot of experience with competitions (although more on the math side than on the programming side), and I've been involved essentially since I was in high school, as a contestant, coach, problem writer, organizer, moving tables, etc.
In my opinion Advent of Code simply isn't a good competition:
- You need to be available for many days in a row for 15 minutes at a very specific time.
- The problems are too easy.
- There is no time/memory check: you can write ooga-booga code and still pass.
- Some problems require weird parsing.
- Some problems are pure implementation challenges.
- The AoC guy loves recursive descent parsers way too much.
- A lot of problems are underspecified (you can make assumptions not in the problem statement).
- Some problems require manual input inspection.
To reiterate once again: I am not saying that any of this needs to change. Many of the things that make Advent of Code a bad competition are what make it an excellent, fun, memorable "Christmas group thing". Coming back every day creates community and gives people time to discuss the problems. Problems being easy and not requiring specific time complexities to be accepted make the event accessible. Problems not being straight algorithmic challenges add welcome variety.
I like doing competitions but Advent of Code has always felt more like a cozy problem solving festival, I never cared too much for the competitive aspect, local or global.
There are definitely some problems that have an indirect time/memory check, in that if you don't have a right-enough algorithm, your program will never finish.
I too like the simple nature. If you care about highly performant code, you can always challenge yourself (I got into measuring timing in the second season I participated). Personally I prefer a world like this. Not everyone should have to compete on every detail (I know you stated that your points aren’t demands, I’m just pointing out my own worldview). For any given thing, there will naturally be people that are OK with “good enough”, and people who are interested to take it as far as they can. It’s nice that we can all still participate in this.
One could probably build a separate service that provides a leaderboard for solution runtimes.
I agree that it’s more of a cozy activity than a hardcore competition, that’s what I appreciate about it most.
> - The AoC guy loves recursive descent parsers way too much.
The vast majority (though not all) of the inputs can be parsed with regex or no real parsing at all. I actually can't think of a day that needed anything like recursive descent parsing.
> The AoC guy loves recursive descent parsers way too much.
LOL!!
I agreed with a lot of what you wrote, but also a lot of us strive for beautiful solutions regardless of time/memory bounds.
In fact, I’m (kind of) tired of leetcode flagging me for one ultra special worst-case scenario. I enjoy writing something that looks good and enjoying the success.
(Not that it’s bad to find out I missed an optimization in the implementation, but… it feels like a lot of details sometimes.)
Do you know of anything like AoC but that feels less contrived? I often spend the most time understanding the problem requirements because they are so arbitrary - like the worst kind of boardgame! Maybe I should go pick up some OSS tickets...
Take a look at Everybody Codes. It occurs in November instead of December, so this year is wrapping up. Like AoC, it is story based but maybe you'll find the problem extraction more to your liking.
Being contrived, with puns or other weirdness is kinda on par for this kind of problems. Almost every programming competition I've ever been to have those kind of jokes.
But the Kattis website is great. The program runs on their server without you getting to know the input (you just get right/wrong back), so a bit different. But also then gives you memory and time constraints which you for the more difficult problems must find your way out of.
I did a post [0] about this last year, and vanilla LLMs didn’t do nearly as well as I’d expected on advent of code, though I’d be curious to try this again with Claude code and codex
> LLMs, and especially coding focused models, have come a very long way in the past year.
I see people assert this all over the place, but personally I have decreased my usage of LLMs in the last year. During this change I’ve also increasingly developed the reputation of “the guy who can get things shipped” in my company.
I still use LLMs, and likely always will, but I no longer let them do the bulk of the work and have benefited from it.
Last April I asked Claude Sonnet 3.7 to solve AoC 2024 day 3 in x86-64 assembler and it one-shotted solutions for part 1 and 2(!)
It's true this was 4 months after AoC 2024 was out, so it may have been trained on the answer, but I think that's way too soon.
Day 3 in 2024 isn't a Math Olympiad tier problem or anything but it seems novel enough, and my prior experience with LLMs were that they were absolutely atrocious at assembler.
Eliminating the leaderboard might help. By measuring it as a race, it becomes a race, and now the goal is the metric.
Maybe just have a cool advent calendar thingy like a digital tree that gains an ornament for each day you complete. Each ornament can be themed for each puzzle.
Of course I hope it goes without saying that the creator(s) can do it however they want and we’re nothing but richer for it existing.
That 'digital tree' idea is similar to how AoC has always worked. There's a theme-appropriate ASCII graphic on the problem page that gains color and effects as you complete problems. It's not always a tree, but it was in 2015 (the first year), and in several other years at least one tree is visible. https://adventofcode.com/2015
I've ignored the leaderboard for its entire existence, as the puzzles release at something like 4AM-5AM in my timezone; there's no point getting up 4 hours early, or staying awake 4 hours after bedtime, for some points on the internet.
Instead, getting gold stars for solving the puzzles is incentive enough, and can be done as a relaxing thing in the morning.
No matter what you do, as the puzzles get harder, you won't solve them in a day (or even a lifetime) if you don't come up with good algorithms/methods/heuristics.
I disagree. Having a leaderboard also leaks into the puzzle design. So the experience is different, even if you choose to ignore the leaderboard as a participant.
That’s also completely true and something I often say about gaming. You don’t like achievements? Just don’t do them. Your enjoyment shouldn’t be a function of how others interact with the product.
I never, in all the years of participating in AoC did take a look at the global leaderboard.
Even before LLMs I knew it was filled with with results faster then you can blink.
So some of us, from gut feeling the vast majority, it was always just for fun. Usually I spent at least until March to finish as much as I did in every year.
I stopped staying up until midnight for the new problem set to be released and instead would do them in the afternoon. Even though I could compare my time to the leaderboard, simply not having the possibility of being on the board removed most of the comparison anxiety.
Oh, i’m quite sure it does. In fact, it’s a central thing in so much of psychology. The only difference is how you get there. Some people can just ignore and others take more effort.
I know some folks were disappointed with their being 12 puzzles instead of 24 this year, but I never have time to finish anyway so it makes no difference to me lol
Exactly. I have always taken AoC as fun and time to learn. But there is so much going on during December and I do not enjoy doing more than one puzzle a day (it feels like hard work instead of fun). I usually spend time on weekends with kids and family and I am not willing to solve more puzzles during week days so I am falling behind all the time. My plan was always to finish last year puzzles to enjoy more interesting ones but it always felt wrong. So I hope I will have time to finish everything this year :-) But I feel pain from people with enough free time to go full on. I would love to be one of them but there is so much going on everywhere that I have to split my time. Sorry programming world and especially computers :-D
It's only going to be 12 problems rather than 24 this year and there isn't going to be a gloabl leaderboard, but I'm still glad we get to take part in this fun Christmas season tradition, and I'm thankful for all those who put in their free time so that we can get to enjoy the problems. It's probably an unpopular stance, but I've never done Advent of Code for the competitive aspect, I've always just enjoyed the puzzles, so as far as I'm concerned nothing was really lost.