“Thou shalt not make a machine in the likeness of a man’s mind” - Orange Catholic Bible
One of the most important decisions that you have to make when starting a new software project is the choice of programming language—and when I say programming language I am not really referring to only the surface syntax or even the execution model, but access to libraries and frameworks, as well as documentation and the communities that maintain and support such things.
The later are especially important when you are attempting to learn something new; you want some kind of assurance that your investment of time and energy will not go to waste and that when you get stuck, which you will at some point, you will not be interminably stuck.
Writing the program using Deno eventually faltered on the absence of a fully featured XML library. Not wanting to be diverted into the weeds of writing the code to parse RSS feeds, I looked to the next lanuage on my candidate list and decided upon the Lisp/Scheme variant known as Racket.
I got a little further using Racket but I eventually stumbled and fell
at the hurdle of properly understanding Racket data structures. The Racket XML
library uses an internal representation of XML called
xexpr or XML
expressions. However, converting between XML and
xexpr did not work as
expected so, finally, the batton was handed to Go, with which I was able to
complete the race in short order.
Indeed, once I switched to Go, I was able to add all of the funcationality that I had envisioned and, with very little difficulty, extend the program in a couple of other directions that I had not considered at the outset.