Advent of Code 2023 programming language decision

After giving some thought to my Advent of Code 2023 programming language options, I’ve made the decision to use Go again, as I did in 2022. I eliminated all the other options under consideration, most of which were straightforward.

PHP: Too easy and I’m unlikely to learn anything. Although I don’t know everything there is to know about PHP, I’ve been using it for so long that when I do learn something new it’s usually due to a change in the language, a third party library, or integrating with another system (e.g. a payment gateway).

Functional languages: These are too much for a time-constrained challenge, as I would have to get my head around functional programming and learn a new language, on top of the already difficult puzzles.

Rust: Too much to learn in a short period of time, especially as Rust differs in some crucial ways from languages I already use (e.g. immutable variables).

Lua: As with Rust, it’s too much to learn a new (different) language and solve the puzzles.

Assembly: Too time consuming, due to having to write lots of boilerplate code that would be automated by a compiler or interpreter in other languages.

C: It was a tough choice between C and Go. I’m probably equally proficient in both, but Go has a shorter development cycle and my IDE (Visual Studio Code) is already setup to work with Go. Debugging Go is generally easier as well – gdb is really powerful for C debugging but not exactly user-friendly.


No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.