Yesterday I was greeted by a pop up on the exercism website, with a pop-up that contained a text like the following:
Hey everyone! Happy new year! For 2023, we've decided to do something a bit different and encourage everyone to try 12 different programming languages throughout the year! We're calling this The #12in23 Challenge. You should be seeing a new card on your dashboard to allow you to get started or go straight to the information page for more details and my intro video.
I added the link to the video.
So I thought, lets plan ahead, and see what nice languages we have to try.
Just visiting the track overview and filtering it to only languages that provide linux support gave me a list of 57 tracks remaining. Thats still enough for one language per week, and I still would require that the earth takes a bit longer to do its sun dance…
Though as I have already touched ~30 of those ~60 tracks I decided to narrow the list down to languages that are really new to me (from exercisms point of view).
I will only do languages which I have not yet a single solution in.
This leaves me with the following opportunites:
- AWK
- Ballerina
- Common Lisp
- Delphi Pascal (why is this in "Linux"?)
- Fortran
- Groovy
- Kotlin
- MIPS Assembly
- Objective-C
- Perl
- Pharo
- PL/SQL
- PureScript
- R
- Raku
- ReasonML
- Red
- Standard ML
- Swift
- Tcl
- Unison
- VB.Net
- Vim script
- WebAssembly
- Wren
- x86-64 Assembly
Among those I explicitely do not want to try
- Delphi Pascal (as it is basically windows only)
- MIPS Assembly (I had assembly during study, nothing I want to spent to much time with)
- Objective-C (Isn't that Mac only?)
- Swift (see Objective-C)
- Unison (not a friend of this cloud only thing)
- x86-64 Assembly (see MIPS Assembly)
So this leaves me with 20 languages to try…
As I do not want to have a though start right now, I will pick something that I know that is available for NixOS to not have to do the nasty packaging at the start.
Also it shall be something I am at least distantly familiar with, so I will try out "Common Lisp" during January.
For the following 11 months, I will try a mix of randomness and manually filtering the input/output of the randomness, to avoid far to heavy tasks for the travel seasons or when there is a lot of work to do.
Also I might cancel individual tracks after the announcement of doing them, if I realize that setting them up on NixOS is too cumbersome…
I will keep some notes about my progress here.