24 Days of SAP Community – Door 09: Advent Of Code
It’s that time of year where many of us reflect and also count down to the holidays; this latter activity is directly represented in the word “advent” which is from the Latin, a combination of “ad” (to, towards) and “venire” (to come).
I thought it would be nice to reflect on the advent calendar that Nicolai Schoenteich put together for us (read more about this initiative in Lena Stodal‘s 24 Days of SAP Community) and share another advent calendar, that of the Advent Of Code.
The annual Advent Of Code event
The Advent Of Code is described as: “an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other.”
It’s been running annually since 2015, and is the creation of Eric Wastl. He gives a “behind the scenes” talk on how he puts the entire thing together, one recording of which is this one: Eric Wastl – Advent of Code: Behind The Scenes – Leetspeak 2019.
The programming puzzles
You can approach Advent Of Code in any way you like. There are many, many folks participating (2020 saw a 50% increase to around 180,000) and solutions are written in pretty much every programming language under the sun. In fact, some of the puzzles are solvable with other methods, maths included, but most are about computational thinking.
Some are in it for the thrill of finishing the puzzles as quickly as they can. Others are in it for the recreational diversions it offers. Others take advantage of the quieter holiday period to improve their skills in a particular programming language that they’ve been working on.
There are no prizes, you don’t even have to work through all of the puzzles, you can skip ones you don’t fancy. You can do them solo, or join up with your friends and create your own leaderboard.
Many folks have used ABAP too!
This year I have started building solutions in jq which is a language primarily designed for processing JSON data, but with a bit of persuasion it can be employed to address some more general problems.
Incidentally, in the Hands-on SAP Dev show we’re using jq to explore the rich seam of JSON-based metadata in the BTP Service Metadata project – see the YouTube playlist Exploring the BTP Service Metadata project (head over to this playlist to watch the replays).
How about you?
As you reflect on 2022 and start thinking about moving into the holiday season that is approaching, will you also take the opportunity to think about solutions to the Advent Of Code puzzles this year? What language might you use?
Let us know in the comments if you’re taking part, and what your language of choice is.