Advent of Code 2015

AOC 2015 - C++

My first go at "algorithm" development. Since this was my first foray into this help you should expect my solutions to not be as good as they perhaps could be. Nonetheless they are all there and can be run within reasonable time. While C++ proved to be quite a nice language, some of it's syntax can feel dated and it can be a tad verbose.

https://github.com/marco-marinho/AdventOfCode2015

Advent of Code 2016

AOC 2016 - TS

AOC 2016 in TypeScript. A very graph heavy year. Typescript was a joy to work with. While not having the same number ready-made tools as python, it still proved to be a nice scripting language, and the more strict typing saved me a few times. Basically it is a language that does not get in the way of the programmer.

https://github.com/marco-marinho/AdventOfCode2016

Advent of Code 2017

AOC 2017 - Go

Go is C for the modern audience. It is simple and lean, providing modern data structures not standardized in C, such as hashmaps. I really wish it would gain steam in the embedded world.

https://github.com/marco-marinho/AdventOfCode2017

Advent of Code 2018

AOC 2018 - C#

I had heard many complaints about C# before taking it on as the tool for 2018. I have to say it was a delight. LINQ is the best things since sliced bread. The tools the language provides you to organize and reuse code are incredible. The debugging and profiling is simply the best I have experienced. Definitely the best developer experience I have seen out of any language.

https://github.com/marco-marinho/AdventOfCode2018

Advent of Code 2019

AOC 2019 - Kotlin

Kotlin is to Java what Go is to C. It feels like a modern Java incarnation, less verbose and with a powerful set of functional language tools.

https://github.com/marco-marinho/AdventOfCode2019

Advent of Code 2020

AOC 2020 - Java

Java is perhaps not among to cool languages anymore, but it is still nice to work with. It is clear the language recognizes it's issues and tries to push forward, with things such as streams and var.

https://github.com/marco-marinho/AdventOfCode2020

Advent of Code 2021

AOC 2021 - Rust

Rust has a ton of hype behind it. I get it, it's safer, fast and whatnot. But, personally, I did not have a lot of fun using it. The syntax is ugly and awkward and the learning curve is very steep. Perhaps more time with the language would make me see what others see in it.

https://github.com/marco-marinho/AdventOfCode2021

Advent of Code 2022

AOC 2022 - Scala

Scala felt wonderful to use. You can use all the functional paradigms that you want while still having the OO aspect to help you out when needed. Among the JVM languages it is my favorite by a mile. Perhaps my favorite overall. The only nitpick I have about it is the lack of standard break and continue keywords.

https://github.com/marco-marinho/AdventOfCode2022

These are some projects personal projects / repositories I have worked on.