qsort 2 hours ago

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.

  • squigz 2 hours ago

    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!

    • Waterluvian an hour ago

      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.

      • squigz an hour ago

        > 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

        • amiga386 12 minutes ago

          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.

        • m000 an hour ago

          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.

        • Waterluvian an hour ago

          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.

          • Almondsetat 42 minutes ago

            "Just ignore it" doesn't work, psychologically.

            • Vespasian 12 minutes ago

              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.

            • squigz 31 minutes ago

              Lots of people play games while ignoring the achievements.

              Many people do - well, did - AoC while ignoring the leaderboard.

PaulRobinson 2 hours ago

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.

  • f1shy 2 hours ago

    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.

  • jakeydus an hour ago

    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.

phplovesong 2 minutes ago

I usually use multiple languages. Ocaml anf Go are always a pick. This year i think i want to try Gleam, and Haxe too.

kylegalbraith 2 hours ago

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

  • Arainach 28 minutes ago

    Isn't a publicly advertised private leaderboard - especially with cash prizes - against the new guidance? Certainly the spirit of the guidance.

    >What happened to the global leaderboard? 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. (However, I've made it so you can share a read-only view of your private leaderboard. *Please don't use this feature or data to create a "new" global leaderboard.*)

fainpul 2 hours ago

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).

  • nemo1618 41 minutes ago

    I made my own, with a Haskell+Bash flavor and a REPL that reloads with each keystroke: https://www.youtube.com/watch?v=r99-nzGDapg

    This year I've been working on a bytecode compiler for it, which has been a nice challenge. :)

    When I want to get on the leaderboard, though, I use Go. I definitely felt a bit handicapped by the extra typing and lack of 'import solution' (compared to Python), but with an ever-growing 'utils' package and Go's fast compile times, you can still be competitive. I am very proud of my 1st place finish on Day 19 2022, and I credit it to Go's execution speed, which made my brute-force-with-heuristics approach just fast enough to be viable.

  • sunrunner 2 hours ago

    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.

  • encomiast 2 hours ago

    It was mind-boggling to see SQL solutions last year: https://news.ycombinator.com/item?id=42577736

    • JokerDan 2 hours ago

      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.

  • keithlfrost 21 minutes ago

    Elixir Livebook is my tool of choice for Advent of Code. The language is well-suited for the puzzles, I can write some Markdown if I need to record some algebra or my thought process, the notebook format serves as a REPL for instant code testing, and if the solution doesn't fit neatly into an executable form, I can write up my manual steps as well.

  • jlouis 2 hours ago

    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.

    • sunrunner an hour ago

      > 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?).

      • jlouis 34 minutes ago

        It's usually easy enough for Go you can just roll your own for the problems at hand. It won't be as elegant as having access to a combinator-parser, but all of the AoC problems aren't parsing problems.

        Once you have something which can "load \n seperated numbers into array/slice" you are mostly set for the first few days. Go has verbosity. You can't really get around that.

        The key thing in typed languages are to cook up the right data structures. In something without a type system, you can just wing things and work with a mess of dictionaries and lists. But trying to do the same in a typed language is just going to be uphill as you don't have the tools to manipulate the mess.

        Historically, the problems has had some inter-linkage. If you built something day 3, then it's often used day 4-6 as well. Hence, you can win by spending a bit more time on elegance at day 3, and that makes the work at day 4-6 easier.

        Mind you, if you just want to LLM your way through, then this doesn't matter since generating the same piece of code every day is easier. But obviously, this won't scale.

  • natrys 41 minutes ago

    I am going to try and stick with Prolog as much as I can this year. Plenty of problems involve a lot of parsing and searching, both could be expressed declaratively in Prolog and it just works (though you do have to keep the execution model in mind).

  • shakna 2 hours ago

    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.

  • infamousclyde 2 hours ago

    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.

  • WJW an hour ago

    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) allStates
    • lkuty an hour ago

      Do you plan to share your solutions on Github or something similar ?

      • WJW 42 minutes ago

        I actually plan on doing this year in Gleam, because I did the last 5 years in Haskell and want to learn a new language this year. My solutions for last year are on github at https://github.com/WJWH/aoc2024 though, if you're interested.

  • marc_omorain an hour ago

    Clojure works really well for AOC.

    A lot of the problems involve manipulating sets and maps, which Clojure makes really straightforward.

  • fainpul 2 hours ago

    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.

  • riffraff 2 hours ago

    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.

  • sevenseacat an hour ago

    I've been using Elixir since day one, and it works pretty well :)

    • aloisdg 10 minutes ago

      I plan to do it in elixir too this year :)

  • bhollan an hour ago

    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.

  • rootnod3 an hour ago

    My personal choice is always Common Lisp. Absolute swiss army knife.

  • f1shy 2 hours ago

    I’ve been doing them is JS and Common Lisp. I recommend the problems to help learning new languages.

    • StopDisinfo910 2 hours ago

      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.

  • 4pkjai 2 hours ago

    Kotlin, because it’s a language I like

d_watt 2 hours ago

Looks like after the AI automation rush last year, the leaderboard has been removed. Makes sense, a little sad that it was needed though.

  • ellisv 2 hours ago

    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.

    • Jare 33 minutes ago

      I never had any hope or interest to compete in the leaderboard, but I found it fun to check it out, see times, time differences ("omg 1 min for part 1 and 6 for part 2"), lookup the names of the leaders to check if they have something public about their solutions, etc. One time I even ran into the name of an old friend so it was a good excuse to say hi.

gray_-_wolf an hour ago

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.

  • gerikson an hour ago

    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.

    • losvedir 21 minutes ago

      Are you saying that we all have different inputs? I've never actually checked that, but I don't think it's true. My colleagues have gotten stuck in the same places and have mentioned aspects of puzzles and input characteristics and never spoken past each other. I feel like if we had different inputs we'd have noticed by now.

      • Jtsummers 12 minutes ago

        He puts together multiple inputs for each day, but they do repeat over users. There's a chance you and your colleagues have the same inputs.

        He's also described, over the years, his process of making the inputs. Related to your comment, he tries to make sure that there are no features of some inputs that make the problem especially hard or easy compared to the other inputs. Look at some of the math ones, a few tricks work most of the time (but not every time). Let's say after some processing you get three numbers and the solution is their LCM, that will probably be true of every input, not just coincidental, even if it's not an inherent property of the problem itself.

      • rawling 11 minutes ago

        You do get different inputs, but they largely share characteristics so good solutions should always work and naive ones should consistently fail.

        There has been the odd puzzle where some inputs have allowed simpler solutions than others, but those have stood out.

  • sevenseacat an hour ago

    I use git-crypt to encrypt the inputs in my public repo https://www.agwa.name/projects/git-crypt/ :)

    • rawling 9 minutes ago

      I don't push my solutions publicly, but I made an input downloader so you can input your cookie from your browser and load (and cache) the inputs rather than commit them.

noirscape 30 minutes ago

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.

encomiast 2 hours ago

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.

IsraelAfangideh an hour ago

This will be my first one! My primary languages are Typescript and Java. Looking forward to it!

12345hn6789 41 minutes ago

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

permalac 2 hours ago

Does anyone know about any good sysadmin advent?

  • ahoka 2 hours ago

    I propose Advent of Outage: just pull a random plug in the server room every day.

mynameismon 2 hours ago

Is it just me, or does it seem to be temporarily down?

  • retsibsi 2 hours ago

    It's up for me (but the first puzzle won't be available until 15 hours from now).

zwnow 2 hours ago

> 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!

  • chongli 2 hours ago

    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.

    • zwnow 2 hours ago

      Yea fully agree. The leaderboards always made me feel bad.

  • retsibsi 2 hours ago

    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.

  • Cthulhu_ 2 hours ago

    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.

  • KolmogorovComp 2 hours ago

    > And yet I expect the whole leaderboard to be full of AI submissions...

    There will be no global leaderboard this year.

  • stOneskull 2 hours ago

    i don't think there is a global leaderboard this year. just private ones.

holyknight 2 hours ago

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.

  • phartenfeller an hour ago

    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.

  • davidcbc 43 minutes ago

    People like different things

  • ls-a 2 hours ago

    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

    • legends2k 19 minutes ago

      By the same token, AI came along and we all still have intelligence, needless, eh? I mean people reading and writing stuff has nothing to do with AI. I don't see how some people see everything as a zero-sum game.

    • MattRix an hour ago

      How do they ruin interviewing? The whole point of these puzzles is that they’re meant to be fun to solve, not a means to an end, but enjoyable for what they are.

Archit3ch 2 hours ago

Anyone doing this in OpenGL?

  • legends2k 21 minutes ago

    I'm not sure I understand this. Most puzzles are number-crunching but very little to do with graphics (maybe one or two), so no usually OpenGL isn't used AFAIK.

    Of course, folks may use it to visualise the puzzles but not to solve them.