4 ms·
Am I alone in thinking that measuring time to get answer is the worst possible metric? I have not participated because of that (yet). If there is a community f
by SleepyMyroslav 2y ago
Am I alone in thinking that measuring time to get answer is the worst possible metric? I have not participated because of that (yet).
If there is a community for those who use other rules to compare actual solutions instead of answers I would be interested to hear about it.
I am coming from low level C++ gamedev side so I understand that most people here use different tools to solve different problems.
- dingensundso 2y agoI think most people don't participate for the competition. I did it several times to increase my coding skills, have fun or get more practice in a new programming language.
- SleepyMyroslav 2y agoIt is normal for coding to seek feedback from others to your solution. Even if it is automated. Looking at 'competing' solutions after you spent time on yours can teach how others think. Improving code after you learned new facts is huge part of coding fun at least for me. People mentioned private leaderboards in the topic few times. I just don't think time to submit an answer is relevant.
- anon22981 2y agoWhy do you care about the time so much then? Just ignore it :D
- Levitz 2y agoCan you propose other metrics that don't involve executing stuff in a whole lot of languages? The point is to let people work in whatever they want, as only the solution matters. If only the solution matters I don't really see other options beyond time.
- kibwen 2y agoHere's a website that appears to be about competing on the performance of each solution: https://codspeed.io/advent https://codspeed.io/advent
- SleepyMyroslav 2y ago>Participants have 36 hours Looks like it is for young people who have dedicated time for it everyday. Personally I would like to do anything like this with no time limit and probably no monetary prizes. I think the only value of those puzzles is to fire up rarely used neurons that hopefully are still there after another year of shipping corporate products xD. I might appreciate fresh point of view from young people and new programming languages though.
- _se 2y agoBecause only young people can make time for things. There are plenty of professionals with jobs and families making time for AOC because they enjoy it. Doing the problems at the same time as everyone else is a VERY different experience from doing them whenever you'd like. If you don't want to make the time for it, power to you. I'd recommend most people to drop off after the first 10ish days. But don't delude yourself by ascribing this as the domain of "young people" or those without responsibilities. You're making a decision. Own it.
- SleepyMyroslav 2y agoI appreciate your perspective and it is correct. I should have phrased it differently. Imho: I worked with code that has long history for my entire career. If the goal is to look at some objective quality of solution then I do not believe in time limits. The longer I work the more things getting patches/updates/remasters and value of better code goes up and value of arriving at any kind of solution overnight goes down.
- _se 2y agoFor software that's meant to be maintained for long periods, especially by others, I agree with you. The thing about AOC is that it's really less about the code that you generate, and more about the process of solving the problem. The challenge is really what you make of it. Some people will golf it, some will go for speed, other for performance, etc. That's why it's so different to solve the problems in "real time". There's a huge community of people solving the same problem that you can interact with and bounce ideas off of. Even just a few days after the problem is released, most of that active discussion has dried up, so you can no longer participate in that discourse. So, again, I don't think there's anything wrong at all with what you're saying, but there are other elements to consider beyond maintainable code and pristine solutions.
- Jcampuzano2 2y agoThe vast majority of people are doing it for fun or learning purposes and not to compete on the leaderboard, and it wouldn't quite be fair to compare much else in a competitive setting but time of completion and correctness, since you'd be at a disadvantage just by language choice in many other metrics. Unless you are someone with experience competing in competitive programming you almost certainly won't make the leaderboard anyway. If your goal is to compare solutions, lots of that happens on the subreddit for it where people post solutions in their language of choice on the daily threads. I just do it for fun. When I was younger I'd actually do them at release (11pm in my timezone), now I don't even bother and just used them as sort of a brain teaser to start my days and compare with coworkers who also do it, a lot of us in different languages.
- clbrmbr 2y agoIt could be interesting to find the shortest solution. But the site is not set up for verifying solutions in various languages.
- criddell 2y agoI wouldn’t use an AI to solve the problems, but I wonder if an AI could give good feedback on a solution I cook up?
- yoyohello13 2y agoThat's what I've been doing with some older AOC puzzles. I solve it, then paste my solution into Claude and ask for tips on making it more idiomatic. It's been pretty nice so far. I learned about Haskell Arrows which I would probably have never come across otherwise.
- nikanj 2y agoThat's like saying you don't want to go for a run, because professional marathon runners are so focused on time
- sebtron 2y agoI also don't like it, last year we had a private leaderboard at work and I realized being crazy enough to wake up at 5:50 every and solve at least part 1 would give me an edge. But the "wake up at 5:50" part is what I enjoyed the least. However, there are other ways to rank yourself against others. You can order your private leaderboard by number of stars, or make your own leaderboard using their APIs.
- mhitza 2y ago> If there is a community for those who use other rules to compare actual solutions instead of answers I would be interested to hear about it. Generally you have the main community on reddit (memes, questions, daily thread for sharing solutions), then the language specific subreddits or hosted forums where you will see solutions discussed and shared, plus a couple of new users asking questions. Also, within the daily main community thread you will see the niche sub community of people posting their code-golfing attempts.
- dunham 2y agoI try to get it done within a day, so they don't back up, but I've never tried to compete. I am PST which opens at 9PM. I try to get through part 1 then, so I can sleep on part 2. The subreddit /r/adventofcode contains discussions of solutions with lots of different skill levels. I've done AoC for five years to learn new languages and try solve all of them myself during the month of December. (Dunno if I'll run the whole thing this year - I have another project.) Others try to get on the leaderboard, and some will implement solutions that they've seen sketched on reddit. Last year a few people used Z3 for one of the problems, and I went back and tried that to get some experience with Z3. And I've occasionally gone back and tried another approach or new trick that I saw on the subreddit. (In the years that I've used Lean, I've sometimes gone back and added proofs for termination or array indices, too.)