It all started with
Advent of Code in December, which was both a challenge and incredibly fun - so much fun that after I finished the exercises for the 2022 calendar, I also did the ones for 2020 and 2021.
Whenever I would get well and truly stuck on an exercise, I would check
the AoC subreddit for ideas, but the problem there was that almost no one was programming in Perl, which was the only relevant language I could read easily. So I decided that I should get more experience with other languages.
Meanwhile, at some point I had seen someone mention a code learning platform called
Exercism, which looked interesting enough for me to start following them on Twitter. Twitter had not yet imploded when I saw Exercism announce their 12in23 project, encouraging people to practice a different language for every month of the coming year, so I hopped on board, starting with Perl in order to familiarize myself with their platform. Exercism's Perl track is not great (although it's since improved from where it was) so I was not able to complete every exercise, but it did scratch the itch for continuing practice.
Then in February, I started their Elixir track, and fell in love. It took me a couple of months, but I did all 157 Elixir exercises. By the end of April, I had also redone all of my Perl solutions for the 2022 AoC in Elixir, and was very happy to realize that many of the more heavily computational scripts would find a solution much more quickly in the newer language.
I continued to progress with 12in23 as well, choosing from each month's featured languages in order to get all of the available badges on Exercism's site. I did a bit of Go in March, a bit of Python in April, and then the bare minimum of Tcl in May, Scheme in June, and Fortran in July. Actually I ended up also having to do some Common Lisp, since I realized too late that not all of that month's featured exercises were available in the Scheme track. I chose Scheme and Fortran because they were languages I had used in college, but I was so rusty that my previous experience didn't help all that much. None of those other languages have grabbed me the way Elixir did. In particular, I still don't enjoy coding in Python, because it strikes me as a bizarre amalgamation of syntax features from every other language I've studied instead of its own distinct thing.
Which brings me to August and... JavaScript. JS seems much more like its own distinct thing, and I've gotten farther with it this month (127/141) than any other language since Perl and Elixir. Whereas with AoC I had rewritten some of my Perl solutions in Elixir, lately I've been rewriting my Elixir solutions for Exercism in JS. But learning modern ES6-flavored JS isn't doing a lot to help me understand the legacy JS code that DW inherited from LJ, especially since their exercises don't involve learning anything about the DOM at all. (And the newer DW code uses jQuery, which is yet another Slightly Different Thing and is not one of the 67 languages available to learn on Exercism.)
Anyway, it's been fun to try different things, and I know I will continue to use Elixir if nothing else. At the end of May I had started working on the 2019 AoC using Elixir, but I dropped it about 4/5ths of the way through to prioritize DW development. Maybe I'll pick that back up and finish it. As for Exercism, one of the featured languages for September is Perl which I've already done, so I'll have to choose between Bash and Raku/Perl6. Bash is probably more generally useful and I've already picked up basic Bash syntax by osmosis, but the Exercism syllabus for Raku is more fully developed.