If you’ve not stumbled across the “Advent of Code” website yet, I highly recommend you check it out. Every day you get set a programming puzzle that can be solved in any language of your choice. Each puzzle is in two parts, and for .NET developers, LINQ is the ideal tool for the job. In fact many of the puzzles are similar to the “LINQ Challenges” I’ve been setting on this blog.
I’ve been solving the problems myself in both C# and F#, and I’ll probably share some of my answers here after the challenge has finished (don’t want to spoil the fun for anyone). One hint I will give you is that it will be worth your while getting hold of the MoreLINQ NuGet Package which provides a whole host of extension methods that will prove really useful, such as Scan. (F# developers already get a more generous selection of sequence operations in the Seq module).
So why not sharpen your LINQ skills by attempting the advent of code challenge in C# or F#? If you have LINQPad installed, it’s really quick to fire it up and construct a query for each day’s problem.
While I’m on the topic of advent calendars, I should also mention that the F# advent calendar is well worth following, with two posts a day covering a very broad variety of topics already.
Anyway, happy Christmas to all my blog readers, and let me know in the comments if there are any other festive coding challenges or blog series worth checking out.