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.
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
[0] https://www.jerpint.io/blog/2024-12-30-advent-of-code-llms/
It's really disheartening that the culture has changed so much someone would think doing AoC puzzles just for the fun of it is an unpopular stance :(
Doing things for the fun of it, for curiosity's sake, for the thrill of solving a fun problem - that's very much alive, don't worry!
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.
> By measuring it as a race, it becomes a race, and now the goal is the metric.
It becomes a race when you start seeing it as a race :) One can just... ignore the leaderboard
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.
Advent of Code is one of the highlights of December for me.
It's sad, but inevitable, that the global leaderboard had to be pulled. It's also understandable that this year is just 12 days, so takes some pressure off.
If you've never done it before, I recommend it. Don't try and "win", just enjoy the problem solving and the whimsy.
While is „only“ 12 days, are like 24 challenges. As no leaderboard is there, and I do it for fun, i will do it in 24 days.
I think I’ll set up a local leaderboard with friends this year. I was never going to make it to the global board anyway but it is sad to see it go away.
Excited to see AOC back and I think it was a solid idea to get rid of the global leaderboard.
We (Depot) are sponsoring this year and have a private leaderboard [0]. We’re donating $1k/each for the top five finishers to a charity of their choice.
I am very happy that we get the advent of code again this year, however I have read the FAQ for the first time, and I must admit I am not sure I understand the reasoning behind this:
> If you're posting a code repository somewhere, please don't include parts of Advent of Code like the puzzle text or your inputs.
The text I get, but the inputs? Well, I will comply, since I am getting a very nice thing for (almost) free, so it is polite to respect the wishes here, but since I commit the inputs (you know, since I want to be able to run tests) into the repository, it is bit of a shame the repo must be private.
If enough inputs are available online, someone can presumably collect them and clone the entire project without having access to the puzzle input generation code, which is the "secret sauce" of the project.
I use git-crypt to encrypt the inputs in my public repo https://www.agwa.name/projects/git-crypt/ :)
Looks like after the AI automation rush last year, the leaderboard has been removed. Makes sense, a little sad that it was needed though.
I never liked the global leaderboard since I was usually asleep when the puzzles were released. I likely never would have had a competitive time anyway.
Opinion poll:
Python is extremely suitable for these kind of problems. C++ is also often used, especially by competitive programmers.
Which "non-mainstream" or even obscure languages are also well suited for AoC? Please list your weapon of choice and a short statement why it's well suited (not why you like it, why it's good for AoC).
It was mind-boggling to see SQL solutions last year: https://news.ycombinator.com/item?id=42577736
This is what is great about it, the community posting hyper-creative (sometimes cursed) solutions for fun! I usually use AoC to try out a new language and that has been fun for me over the years.
My favourite "non-mainstream" languages are, depending on my mood at the time, either:
- Array languages such as K or Uiua. Why they're good for AoC: Great for showing off, no-one else can read your solution (including yourself a few days later), good for earlier days that might not feel as challenging
- Raw-dogging it by creating a Game Boy ROM in ASM (for the Game Boy's 'Z80-ish' Sharp LR35902). Why it's good for AoC: All of the above, you've got too much free time on your hands
Just kidding, I use Clojure or Python, and you can pry itertools from my cold, dead hands.
Go is strong. You get something where writing a solution doesn't take too much time, you get a type system, you can brute-force problems, and the usual mind-numbing boring data-manipulation handling fits well into the standard tools.
OCaml is strong too. Stellar type system, fast execution and sane semantics unlike like 99% of all programming languages. If you want to create elegant solutions to problems, it's a good language.
For both, I recommend coming prepared. Set up a scaffold and create a toolbox which matches the typical problems you see in AoC. There's bound to be a 2d grid among the problems, and you need an implementation. If it can handle out-of-bounds access gracefully, things are often much easier, and so on. You don't want to hammer the head against the wall not solving the problem, but solving parsing problems. Having a combinator-parser library already in the project will help, for instance.
> For both, I recommend coming prepared.
Any recommendations for Go? Traditionally I've gone for Python or Clojure with an 'only builtins or things I add myself' approach (e.g. no NetworkX), but I've been keen to try doing a year in Go however was a bit put off by the verbosity of the parsing and not wanting to get caught spending more time futzing with input lines and err.
Naturally later problems get more puzzle-heavy so the ratio of input-handling to puzzle-solving code changes, but it seemed a bit off putting for early days, and while I like a builtins-only approach it seems like the input handling would really benefit from a 'parse don't validate' type approach (goparsec?).
I like to use Haskell, because parser combinators usually make the input parsing aspect of the puzzles extremely straightforward. In addition, the focus of the language on laziness and recursion can lead to some very concise yet idiomatic solutions.
Example: find the first example for when this "game of life" variant has more than 1000 cells in the "alive" state.
Solution: generate infinite list of all states and iterate over them until you find one with >= 1000 alive cells.
let allStates = iterate nextState beginState # infinite list of consecutive solutions let solution = head $ dropWhile (\currentState -> numAliveCells currentState < 1000) allStatesDo you plan to share your solutions on Github or something similar ?
I've always done it in a Scheme. Generally to learn a new compiler and its quirks.
Scheme is fairly well suited to both general programming, and abstract math, which tends to be a good fit for AoC.
Clojure works really well for AOC.
A lot of the problems involve manipulating sets and maps, which Clojure makes really straightforward.
I've been using Elixir since day one, and it works pretty well :)
I usually do it with ruby with is well suite just like python, but last year I did it with Elixir.
I think it lends itself very well to the problem set, the language is very expressive, the standard library is extensive, you can solve most things functionally with no state at all. Yet, you can use global state for things like memoization without having to rewrite all your functions so that's nice too.
For some grid based problems, I think spreadsheets are very powerful and under-appreciated.
The spatial and functional problem solving makes it easy to reason about how a single cell is calculated. Then simply apply that logic to all cells to come up with the solution.
I’ve always used AoC as my jump-off point for new languages. I was thinking about using Gleam this year! I wish I had more profound reasons, but the pipeline syntax is intriguing and I just want to give it a whirl.
I used MATLAB last year while I was re-learning it for work. It did okay, but we didn't have a license for the Image Processing Toolbox, which has a boatload of tools for the grid based problems.
My personal choice is always Common Lisp. Absolute swiss army knife.
Kotlin, because it’s a language I like
I’ve been doing them is JS and Common Lisp. I recommend yhe problems to help learning new languages.
I respect the effort going into making Advent of Code but with the very heavy emphasis on string parsing, I'm not convinced it's a good way to learn most languages.
Most problems are 80%-90% massaging the input with a little data modeling which you might have to rethink for the second part and algorithms used to play a significant role only in the last few days.
That heavily favours languages which make manipulating string effortless and have very permissive data structures like Python dict or JS objects.
A little sad that there are fewer puzzles. But also a glad that I'll see my wife and maybe even go outside during the second half of December this year.
This will be my first one! My primary languages are Typescript and Java. Looking forward to it!
Does anyone know about any good sysadmin advent?
I propose Advent of Outage: just pull a random plug in the server room every day.
Is it just me, or does it seem to be temporarily down?
It's up for me (but the first puzzle won't be available until 15 hours from now).
> Should I use AI to solve Advent of Code puzzles? No. If you send a friend to the gym on your behalf, would you expect to get stronger? Advent of Code puzzles are designed to be interesting for humans to solve - no consideration is made for whether AI can or cannot solve a puzzle. If you want practice prompting an AI, there are almost certainly better exercises elsewhere designed with that in mind.
And yet I expect the whole leaderboard to be full of AI submissions...
Edit: No leaderboard this year, nice!
I am so glad there is no leaderboard this year. Making it a competition really is against the spirit of advent calendars in general. It’s also not a fair competition by default simply due to the issue of time zones and people’s life schedules not revolving around it.
There are plenty of programming competitions and hackathons out there. Let this one simply be a celebration of learning and the enjoyment of problem solving.
Yea fully agree. The leaderboards always made me feel bad.
Not this time:
> The global leaderboard was one of the largest sources of stress for me, for the infrastructure, and for many users. People took things too seriously, going way outside the spirit of the contest; some people even resorted to things like DDoS attacks. Many people incorrectly concluded that they were somehow worse programmers because their own times didn't compare. What started as a fun feature in 2015 became an ever-growing problem, and so, after ten years of Advent of Code, I removed the global leaderboard.
I mean they're great programming tests, for both people and AI I'd argue - like, it'd be impressive if an AI can come up with a solution in short order, especially with minimal help / prompting / steering. But it wouldn't be a personal achievement, and if it was a competition I'd label it as cheating.
> And yet I expect the whole leaderboard to be full of AI submissions...
There will be no global leaderboard this year.
i don't think there is a global leaderboard this year. just private ones.
I never understood the craze for "Advent of code". Already at this time of the year the last thing I want to do is code even more.
Well some people like to code and logic puzzles. And especially as it is in its raw form where you can forget all the noise you encounter while coding professionally with many hoops and responsibilities.
I agree. Didn't these puzzles ruin interviewing for many years now. AI came along and they're still doing it. Some things will needlessly drag on before they die I guess
Anyone doing this in OpenGL?