Earlier quoted context omitted.
It rots in the sense that it becomes harder to change (or fix) over time, even if the code stays the same. This happens via loss of institutional knowledge as people forget how it works, loss of knowledge of the technologies used as they're replaced, etc. It's not just the complexity. Old code is usually harder to change than new code, even if they're equally complex.
That isn't rot. The metaphor doesn't make any sense. Software literally does not change. Except for the occasional cosmic ray, I can think of few things less appropriate to apply the term "rot" to.
Why Does Software Rot?
21–30 of 81 posts
Re: Why Does Software Rot?
#22Earlier quoted context omitted.
It rots in the sense that it becomes harder to change (or fix) over time, even if the code stays the same. This happens via loss of institutional knowledge as people forget how it works, loss of knowledge of the technologies used as they're replaced, etc. It's not just the complexity. Old code is usually harder to change than new code, even if they're equally complex.
That isn't rot. The metaphor doesn't make any sense. Software literally does not change. Except for the occasional cosmic ray, I can think of few things less appropriate to apply the term "rot" to.
Re: Why Does Software Rot?
#23Earlier quoted context omitted.
Through the miracle of virtual machines, this is much less so. VMs are the NAT of computer systems.
Even though the VM image and tooling may still be runnable, the world around it with which it must interact continues to evolve and can leave your software obsolete.
Re: Why Does Software Rot?
#24Re: Why Does Software Rot?
#25Unless your sandboxed in a self contained hardware and software environment (such as an embedded system) you will eventually be screwed. (rot sounds like a gradual degradation its generally not in my position) Standards changes and OS Updates are the biggest culprit; The Vista update broke a couple of my old programs (written for Windows 95) due to the user access control changes, another was broke due to the fact it…
This is because there's little glory in simply making things work. There is glory in making things that look shiny and new. As they say, "Absolutem Obsoletum". And congratulations on understanding exactly why I prefer embedded systems - you don't have to keep chasing the dragon of the fashionable new thing ( which is invariably old wine in new skins ). It is not that there is no new wine it is just that proportionall…
Re: Why Does Software Rot?
#26Three reasons: 1. The code is the same but the people using it forget / never knew the reasons it was built that way - and so it looks rotten for the job 2. Because requirements change and people try to make the old code do new things without cleaning up / refactoring correctly - so it now does neither job well, and looks rotten. 3. Because the environment / platform changes, the FTP server is moved to a new data cen…
A. Backwards compatibility considerations.
B. Churn in personnel.
C. Vestigial features.
Awesome! Comparing the two, I merged your 2 and 3 into a single reason, considering both as cases of environmental change. In its place I have a new one: changing personnel causing evaporation in system knowledge. Did you consider this? Now I think about it, maybe it overlaps with your 1 (my C).
So the final mapping is perhaps:
1 B, C
2, 3 A
Re: Why Does Software Rot?
#27Re: Why Does Software Rot?
#28What does rot even mean, in terms of software? As far as I can tell, he means "Why is complex software hard to change " which is a reasonable, though fairly easy to answer, question. Software doesn't rot. New features or refactors screw it up. New needs or technologies may make it obsolete. But it doesn't rot, and people who talk that way are often busy-body rewriters who want to pitch the existing implementations, w…
I spend a lot of time thinking about this (http://akkartik.name/about), but lately I try to steer clear of metaphors, because they're so often clear in my mind but utterly opaque to someone else's. So, I don't care what we call it, as long as more people try to fix the problem.
Re: Why Does Software Rot?
#29Re: Why Does Software Rot?
#30Software rots if you can no longer set up the exact tool chain and environment (compiler, build tool, OS version, external database, etc) required to build and run it. Even interpreted languages suffer from this problem as features are subtlely changed - by design or accident. It doesn't matter if your project is using an ancient version of VC++ or a two year old version of NodeJS. If it doesn't keep up with the late…
Some smart dude, don't remember who, said that every single line of code becomes technical debt the moment it is written.
0: http://www.russmiles.com/essais/dont-think-legacy-software-t...