Plans for Advent of Code 2024
Since the December is coming around really soon (at the time of writing it will be tomorrow 😄), I thought it would be a good idea to share my plans and ideas for the upcoming Advent of Code 2024.
I participate in Advent of Code every year since 2020 (so around 4 years now) and I always have a lot of fun solving the puzzles and learning new things. Unfortunately given my time constraints and lack of skill, when it comes to algorithms and data structures, I usually keep up for the first week or so. Given that I am a full-time student, there is a lot of work to do and I can’t keep up with the pace of the event for the whole month.
Previous Years
In the previous years I mostly did the puzzles in C#, which is my preferred language for solving most of the problems. I always try to utilize parts of the standard library, which I am unable to use at work, like Span<T>
or Memory<T>
. I thinks it’s a good occasion to practice writing more efficient code and learn new things about tech-stack which I focus on. If you are interested in the last years’ solutions, I have some of them available on my GitHub’s repository.
Plan For This Year
This year, taking into account my recent experiments with Rust (for which I have found a new interest ever since there is an active Rust meetup community in Gdańsk now) I plan to tackle these challenges using exactly that language. I have written a bit in Rust in the past, but given the complexity of the standard library and the concepts which you have to know pretty well in order to program fluently using Rust, I didn’t have a lot of success 😓.
Events like Advent of Code are perfect opportunities to learn new programming languages, paradigms or parts of the standard library which you usually don’t use. The code you write is usually self-contained, easy to replace and has very clear requirements which make it very easy to start from scratch and improve as you go along. I will see if these technique will bring me success and will help me learn Rust more easily than I otherwise would, but I think it will still be much more fun than coming up with problems to code on your own. Another great thing about AoC is that you can always compare your solutions with others and see how they approached the problem, which is a great way to learn new things and improve your skills. Even if you don’t have to come up with all the solutions on your own, you can still learn a lot from others (friends, coworkers and even strangers) and improve your skills.
Even if you are an experienced programmer there is always something new to learn and improve. Automatic testing? Code coverage? Performance? Code readability? There is always something to improve and learn. I think that Advent of Code is a great opportunity to do that and have a lot of fun in the process. It is not everyday that you can spend time on a coding challenge and focus on these more technical aspects of programming (unless you work in such a role).
As usual there is a private leaderboard for the event in the company that I work for (also I have another one that is private for me and my friends), so it’s a great opportunity to compete with others and see how you stack up against them. It is a great source of motivation and good ice-breaker for the team, so I encourage you to participate in the event and see what different ideas and solutions different people come up with.
Summary
As I mentioned before I am really excited and look forward to the event. I hope that I will be able to keep up with the pace of the event and learn a lot of new things. I will be sharing my progress and solutions on my GitHub’s repository and maybe I will write a blog post after the event to share my thoughts and experiences with you. I hope that you will also participate in the event and have a lot of fun solving the puzzles. If you have any questions or ideas for the event, feel free to ask them via one of the social media platforms or email me directly that are linked in the footer down below. May the code be with you! 😄