98 comments

[ 2.9 ms ] story [ 115 ms ] thread
Is it just me, or does it seem to be temporarily down?
It won't load for me right 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!

Looks like after the AI automation rush last year, the leaderboard has been removed. Makes sense, a little sad that it was needed though.
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.

> the global leaderboard had to be pulled.

Frankly I'm better off with it being this way instead of the sweaty cupstacking LLM% speedrun it became as it gained popularity.

how else to try it? only for shits and giggles, there is enough fake virtual internet pointz as is
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.

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.
Does anyone know about any good sysadmin advent?
I haven't set up an advent event (maybe I should) but you can do yourself a challenge a day from SadServers.com
(comment deleted)
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).

Perl is my starting point.

It has many of the required structures (hashes/maps, ad hoc structs, etc) and is great for knocking up a rough and ready prototype of something. It's also quick to write (but often unforgiving).

I can also produce a solution for pretty much every problem in AoC without needing to download a single separate Perl module.

On the negative side there are copious footguns available in Perl.

(Note that if I knew Python as well as I knew Perl I'd almost certainly use Python as a starting point.)

I also try and produce a Go and a C solution for each day too:

* The Go solution is generally a rewrite of the initial Perl solution but doing things "properly" and correcting a lot of the assumptions and hacks that I made in the Perl code. Plus some of those new fangled "test" things.

* The C solution is a useful reminder of how much "fun" things can be in a language that lacks built-in structures like hashes/maps, etc.

I believe Eric has said he always makes his first solutions with Perl.
I have been learning lua to do a VR game in lovr, so I'll probably use that to get sharper with it.
For me (and most of my friends/coworkers) the point of AoC was to write in some language that you always wanted to learn but never had the chance. The AoC problems tend to be excellent material for a crash course in a new PL because they cover a range of common programming tasks.

Historically good candidates are:

- Rust (despite it's popularity, I know a lot of devs who haven't had time to play with it).

- Haskell (though today I'd try Lean4)

- Racket/Common Lisp/Other scheme lisp you haven't tried

- Erlang/Elixir (probably my choice this year)

- Prolog

Especially for those langs that people typically dabble in but never get a change to write non-trivial software in (Haskell, Prolog, Racket) AoC is fantastic for really getting a feel for the language.

I have used Raku (Perl 6) with good results.

Common Lisp. Using 'iterate' package almost feels like cheating.

I have done half a year in (noob level) Haskell long ago. But can't find the code any more.

Most mind blowing thing for me was looking at someone's solutions in APL!

The only way to win is with Brainfuck.

Or MUMPS.

I've done AoC on what I call "hard mode", where I do the solutions in a language I designed and implemented myself. It's not because the language is particularly suited to AoC in any particular way, but it gives me confidence that my language can be used to solve real problems.

Neon Language: https://neon-lang.dev/ Some previous AoC solutions: https://github.com/ghewgill/adventofcode

I used my homemade shell language last year, called elk shell. It worked surprisingly well, better than other languages I've tried, because unlike other shell languages it is just a regular general purpose scripting language with a standard library that can also run programs with the same syntax as function calls.
Is Rust still "non-mainstream"? Because it's extremely well suited for AoC. The ergonomics of a high-level language with the performance of C++.
A new language every year. A language I had intended to learn. Using a different programming paradigm, or a paradigm which I have not used recently.
With AoC I think that its fine to pick a language that is not at all suited for the challenge. That can be half the fun.

I saw someone one Twitter use Excel.

OCaml. There's just enough in the standard library to cover what you need for everything, for any non-trivial parsing tasks, there's a parser generator and lexer generator bundled, and if you want to pull in extra support libraries so you're not looking to implement, say, a trie from scratch.
C, because it makes every problem into a memory management problem, which is good for you in an 'eat your vegetables' sort of way. It's also the starting point for a lot of other programming languages and related things like HDLs, which is helpful to me.

I'm plodding my way through the 2015 challenge here: https://git.thomasballantine.com/thomasballantine/Advent_of_... , it's really sharpened me up on a number of points.

My favorite non-mainstream language for competitions like this and Project Euler is Julia. The startup time is not a factor, and the ability to use UTF-8 symbols as variables makes the code more mathematical.
If it is not solvable with a Ruby one-liner, it is not a well defined problem.
I use AoC as a chance to try a new language every year.

In the past I used it to try out Swift, J, R, ...

I haven't tried it, but I may consider Raku (ex Perl 6). It is very expressive and loaded with features.

AoC-like problems are well suited to quick and dirty languages with lots of builtin features, the code doesn't have to be maintained and it is small enough to not require organization.

I solved day 1 with ms excel formulas :-) but from day 2 onwards I switched to python, the formula constraints in ms excel are a pain and I am not so masochistic
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.
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.

[0] https://depot.dev/events/advent-of-code-2025

i don't think it should be a charity of their choice. i think it should have to be one of the top 5 most reputable charities in the world, like doctors without borders or salvation army.
This will be my first one! My primary languages are Typescript and Java. Looking forward to it!
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.

This is not surprising at all, to me. Just commit the example input and write your test cases against that. In a nicely structured solution, this works beautifully with example style tests, like python or rust doctests, or even running jsdoc @example stanzas as tests with e.g. the @linus/testy module.
I make my code public, and keep my inputs in a private submodule.
The inputs are part of the validation that you did the question, so they're kind of a secret.
It is quite odd to call this advent when it ends halfway into the month rather than on Christmas. But I will have fun doing them either way
(comment deleted)
I think there's a problem every other day, so it's 1, 3, ..., 23.
Taking out the public leaderboard makes sense imo. Even when you don't consider the LLM problem, the public Leaderboard's design was never really suited for anyone outside of the very specific short list of (US) timezones where competing for a quick solution was every feasible.

One thing I do think would be interesting is to see solution rate per hour block. It'd give an indication of how popular advent of code is across the world.

I live in Sweden nowadays (UTC+1) and it starts at 6am so last year I woke up at 5:30, grabbed a coffee, and gave it a go.

Got nowhere near the leaderboard times so gave up after four days!

I usually use multiple languages. Ocaml anf Go are always a pick. This year i think i want to try Gleam, and Haxe too.
I support the no global leaderboard. I was in 7th place last year but quickly got bored maintaining the aggressive AI pipeline required to achieve that. If I wanted to maintain pipelines I'd just do work, and there will never be a good way to prevent people from using AI like this. Advent of Code should be fun, thank you for continuing to do it. I'm looking forward to casually playing this year!
this is why we can't have nice things
Wow, you have some nerves.
I'd like to play, sadly you can't without logging in with google, github, etc.
Small anecdote:

In the IEEEXTREME university programming competition there are ~10k participating teams.

Our university has a quite strong Competitive Programming program and the best teams usually rank in the top 100. Last year a team ranked 30 and it's wasn't even our strongest team (which didn't participate)

This year none of our teams was able to get in the top 1000. I would estimate close to 99% of the teams in the Top 1000 were using LLMs.

Last year they didn't seem to help much, but this year they rendered the competition pointless.

I've read blogs/seen videos of people who got in the AOC global leaderboard last year without using LLMs, but I think this year it wouldn't be possible at all.

BTW the page mentions Alternate Styles, which is an obscure feature in firefox (View -> Page Styles). If you try it out, you will probably run into [0] and not be able to reset the style. The workaround is to open the page in a different tab, which will go back to the default style.

0: https://bugzilla.mozilla.org/show_bug.cgi?id=1943796

I _love_ the Advent of Code. I actually (selfishly) love that it's only 12 days this year, because by about half way, I'm struggling to find the time to sit down and do the fantastic problems because of all the holiday activities IRL.

Huge thanks to those involved!

IMHO they’re starting off harder this year!
o’rly? I had no idea, why do you say that?
Would love to know which exotic and niche languages are people going to use for this year. I am personally thinking of trying out Crystal or Elixir
BQN or its ancestor APL are good for this.
I find it interesting how many sponsors run their own "advent of <x>". So far I've seen "cloud", "FPGA", and a "cyber security" one in the sponsors pages (although that last one is one I remember from last year).

I'm also surprised there are a few Dutch language sponsors. Do these show up for everyone or is there some kind of region filtering applied to the sponsors shown?