From the Advent of Code website:
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other.
This is my first year solving puzzles each day they are posted.
Once upon a time, I was a Ruby developer. It's been about five years since I've worked in Ruby, so I thought it would be a fun refresher.
See my solutions to each day's puzzle.
Working backwards in time, starting with the puzzles from last year.
I always wanted to like Python, but have never really been able to. I'm not a fan of forced indenting. Also, I really just feel like Python is limited in its expressiveness. Limiting...possibly even constricting, haha.
See my solutions to each day's puzzle.
Another year backwards, and this time I'm going to work in C++. In a previous life, I built large, complex, highly performant and highly parallel applications in C++. It isn't a language well-suited to quick daily puzzles. But...we'll see how it goes.
See my solutions to each day's puzzle.
For this year, I'm going to solve everything in Perl. It's been quite a while since I've used Perl for anything more than a one-liner (college, really). So, this should be an interesting trip down memory lane. Ha ha, get it? "Memory" lane, because these puzzles tend to require a lot of memory to brute-force.
See my solutions to each puzzle.
Now it will be Java's turn. I once taught a class in Java. I have never liked Java and I don't find it either fun or practical. The syntax is awful and overly complex, and the runtime is heavy and unpredictable.
See my solutions in Java.
I am beginning with C# .NET Core even though I'm not done with 2019 yet. I've dabbled in .NET here and there over the years, but have yet to do much beyond minor modifications to existing code.
See my solutions in .NET Core.
Might as well try these in Node also. I have a feeling this will be a bit awkward. As good at Node is at something, processing lines of input doesn't seem like one of them.
See my solutions in Node.
Way back in grad school, I worked with Matlab as part of my research. While not exactly the same, for this year I'm going to attempt every puzzle in Octave and see how it goes. I have the feeling that certain hard things will be very easy, and certain easy things will be very hard.
See my solutions in Octave.
This year will be a year of Polyglot solutions. Each day will combine at least two languages in a unique combination. That could mean stringing two scripts together with pipes, or embedding one inside another, or launching one as a child process of another. It's any anything-goes grab bag of code. My favorite.
See my solutions in Whatever.