Everyone wants to be Tony Stark, nobody wants to be the janitor. Thus things fall apart and get constantly rebuild, in a "good-enough-fashion", which is very reminiscent of biologic life.
We are codes transport mechanism, without us, its not alive. And only good code gets copied, reused, to life on till heat death.
I love the Iron Man reference. Everyone is always chasing the shiny new thing. Since my company build devtools the shiny thing is the thing that usually gets rusty - which is kind of the whole point I guess.
is that entropy not self inflicted by swes constantly reinventing the wheel with new languages, frameworks, and libraries? they may be better but constantly having new adoption means nothing ever really lasts long
100% - documentation will always go stale. the source of truth is the code however, and making sure the code is kept shiny is the primary task of engineering. documentation is non-load-baring - you can tear it all down and the project will still work correctly. Legacy tooling can literally cause breakages and security concerns.
Legacy tooling can literally cause breakages and security concerns.
Absolutely. My domain is a little different, but I've taken to keeping the installers of every version of a specific CAD program I've used, due to compatibility breaking updates that it has had, in the event that I might need to go back and open a design from a few years ago.
Comments
software engineering is a constant fight against entropy. GitHub code search uncovers the scope of tool rot in open source projects.
Everyone wants to be Tony Stark, nobody wants to be the janitor. Thus things fall apart and get constantly rebuild, in a "good-enough-fashion", which is very reminiscent of biologic life.
We are codes transport mechanism, without us, its not alive. And only good code gets copied, reused, to life on till heat death.
I love the Iron Man reference. Everyone is always chasing the shiny new thing. Since my company build devtools the shiny thing is the thing that usually gets rusty - which is kind of the whole point I guess.
is that entropy not self inflicted by swes constantly reinventing the wheel with new languages, frameworks, and libraries? they may be better but constantly having new adoption means nothing ever really lasts long
To be fair I feel like this can be said about nearly any task or process.
Documentation is a constant fight against entropy.
Working safely is a constant fight against entropy/complacency.
And so on
100% - documentation will always go stale. the source of truth is the code however, and making sure the code is kept shiny is the primary task of engineering. documentation is non-load-baring - you can tear it all down and the project will still work correctly. Legacy tooling can literally cause breakages and security concerns.
Absolutely. My domain is a little different, but I've taken to keeping the installers of every version of a specific CAD program I've used, due to compatibility breaking updates that it has had, in the event that I might need to go back and open a design from a few years ago.