šŸŒ± Seedling thought

31 of 365, Code Rot

planted on in: 365 day writing project and 365DayProject.
~252 words, about a 2 min read.

This is day thirty-one of my attempt to write something, anything, every day for 365 days in a row; currently 8.49% complete with a nine-day streak.

ā€”

Today I wondered how Luke, the developer behind Banished was doing with their next project and found their most recent devlog about Code Rot.

Much like Link Rot, code can, and will over time "rot", that is to say a project you shelved several years ago in a working state will no longer work today without refactoring. In reality this code rot is less to do with the code itself and more the ecosystem in which it was developed.

There are a few ways in which an ecosystem can cause shelved code to fester: deprecations in language features over time, third party libraries going out of fashion and withering or hardware being obsoleted.

For example a PHP project written during the reign of PHP5.6 may well use language features that have since been deprecated in PHP8; stopping it from running correctly or all together. While I have yet to personally encounter this scenario with PHP I have multiple times with Node.

I very often come across Code Rot when the dependencies a project used haven't aged well, for some reason this is most common in my experience with JavaScript and Node projects.

ā€”

Luke's most recent post was in April of last year; I do hope that the code rot they experienced wasn't the reason for the lack of updates since then.

šŸŒ»