One evening right at the beginning of 2023, I got an email from Exercism inviting me to join The #12in23 Challenge. I was home alone and thought that this sounded like fun (you should see the number of Rubik’s cubes in this house to get an idea of how I define “fun”). I’d played with Exercism a few years ago to get myself up-to-speed in Elixir, which was looking like becoming popular when I was Envato and I found it to be both educational and entertaining. I resolved to undertake one language per month and one exercise per day.

On a whim, I decided to take on JavaScript for January.

It seems almost unbelievable that in close to a quarter of a century working in software development the only JavaScript I have written was in the form of a small, cargo-culted change to a parkrun-related browser plug-in. It’s a language I’ve never really needed to touch and of which I have remained pretty ignorant. It was good to finally meet it head-on.

Most days I’d be able to knock off an exercise in about 15 minutes. The only exception to this was the exercise on the concept of Promises, which was a new concept to me and took most of a Friday evening. On a couple of days where the exercises were really easy, I did multiple exercises, as I didn’t start on 1 January and I thought it would be nice to end the month having completed (at least) 31.

It is good to do some programming again and I actually like JavaScript more than I expected to. The nullish coalescing operator (??) is a nice language feature that I don’t think I have used in any other language so far.

I’m excited for Functional February!