The first few days of Advent of code 2020


I've been having a lot of fun these first few days of Advent of code Each year I'm trying to solve it in a new language, I've done Python, Elixir, Rust and Racket, and this year I'm using F#, and I have to say I'm really impressed with how much fun it is to write in it, and how nice an experience it is to work with in general.

I have a github repository of my solutions this year so if you're interested you can look at my progress.

I've found the easiest way to set up a working environment for F# is to just use visual studio code and the ionide plugin, it has neat plugins and it makes it easy to test out things in a repl to check if what I wrote actually matches up with what I intended it to do.

The more I use F# the more I'm impressed at how clear and understandable it makes the code, and the syntax is really neat, not too wordy, but also not so terse that it's being too cryptic. The type inference is really good and the strong typing has saved my butt multiple times when I forgot a parameter and started making unintentionally curried functions.

Through the interoperation with C# it also has libraries for a lot of different things, and since dotnet core now are well supported under linux it's really a lot less hassle than the last time that I tried to get it up and running.

As for the calendar itself, this year it hasn't been that difficult yet, but it's just the beginning, so it's probably coming. I'm not competing for time or anything, I just want to get through as much as I can and learn as much as I can. What I'll be doing this year that I didn't manage too well last year, is to actually look at other's solutions and ask for help if I'm in over my head, and try not to just bang my head against the wall and give up.

As a last little thing there is an awesome community over at reddit and it's crazy to see all the shenanigans that people get up to there, and it's so friendly and helpful.

I think that's all that I had on my mind today, I'll try to keep up writing here to get used to not letting things go for too long.