o
odin.langpkg.dev
packages / library / advent-of-languages-2024

advent-of-languages-2024

dc22583library

My Advent of Code 2024 attempts, except every day is a written in a different language (yes, I'm late and no I'm not done)

GPL-2.0 · updated 1 year ago

Advent of Languages 2024

My Advent of Code 2024 attempts, except every day is a written in a different language.

Why?

Some of the languages I have tried before, some of them I haven't. Is this the best way to learn a bunch of new programming languages? No of course not, but because each challenge covers a lot of basics including dynamic data structures and file handling, it is enough to make the differences between each language stand out. My intention is not to learn each of these new languages in depth, it's just a bit of fun.

For the sake of putting more thought into learning the new languages, I have avoided using AI at any point.

Index

Disclaimer: don't take my comments as objective reviews of the programming languages, they are just my general thoughts/feelings as someone who's vast majority of recent programming experience has been in Typescript and web development, with a little bit of a bias towards functional approaches.

Day Language New to me? Comments
1 (part 1) C++ Haven't used C++ since 2021. Somehow I expected to remember more. Going back to using pointers felt weird considering it's something I haven't needed to think about when programming in so long.
2 (part 1) Go Really enjoyed using Go, super easy to pick up and understand, and it felt really readable to me. I was very impressed by channels, I made my code asynchronously read the input and process it. I don't think I've ever written multi-threaded code that easily before.
3 (part 1+2) Haskell This day was based around processing strings, which made Haskell a super interesting choice since I could use a lot of pattern matching. Since Haskell is almost purely functional, I found this day really difficult to reason about, and my code isn't pretty.
4 (part 1+2) Scala First impression, I would probably prefer to use this over Java solely based on the lack of boilerplate. I like how this language does for loops and val vs var variables, with explicit lazy loading and other similar features.
5 (part 1) Odin Neat language for graphics programming, very different. Was an interesting experience to learn a language too obscure to find stack overflow threads for.
6 Kotlin
7 PHP
8 Zig
9 Unison