Skip to content

My hand-crafted gourmet solutions to the Advent of Code challenge.

Notifications You must be signed in to change notification settings

ryanneph/Advent-of-Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code

I'm participating in AoC because I enjoy solving these types of short challenges as a break from daily work on large systems. If you haven't heard of AoC, check it out and follow along yourself!

For 2020, I developed solutions in Python3, since I had just finished five years of graduate research using it as my primary development language.

Throughout 2021 I have shifted my focus to honing my skills in system-level languages like C/C++ while developing my Game Engine (I'll be posting a progress update at the end of December). So this year, I will be using AoC as a case-study comparing what I believe to be the three most promising system languages for performance-oriented programming:

  • C (with limited use of C++11 compiler features)
  • Jai (Jonathan Blow's language)
    • I believe it has the potential to be a modern replacement for C++ with more thoughtful design philosophies dedicated to simplicity, performance, and programmer satisfaction.
  • Rust
    • The direction of the industry seems to move inevitably towards it's widespread adoption. One must understand the merits and caveats of powerful social trends like Rust to make informed decisions.

My Objectives and Non-Objectives

I am interested in the following:

  • Writing simple, understandable, and efficient solutions.
  • Comparing solutions across proven/existing and promising new languages.
  • Having fun.

I am not interested in the following:

  • Tuning in at the instant a new challenge becomes available to try to capture points on the leaderboard in the first 5 minutes.
    • Finding time for anything outside of work and family is hard enough. Bending my schedule around these challenge drops is not a priority.
  • Making my solutions as "small" as possible.
    • In languages that provide syntactic sugar for minifying code, the act of reducing the character count is often accompanied by a loss of readability and maintainability.
    • Instead, I will focus on making the simplest solutions that reveal what actually occurs on the hardware, rather than intentionally obfuscating implementations behind "convenience" operations of a language and it's standard library.

Note that this is in no way a mandate for how you should participate in AoC, but of course you should already know that, being the self-confident, emotionally healthy, and unapologetic individual I know that you are :).

Get in Touch

If you have any questions feel free to open an issue we can have a chat. Happy coding!

About

My hand-crafted gourmet solutions to the Advent of Code challenge.

Topics

Resources

Stars

Watchers

Forks