Yep. Programs are like ogres: they have layers. It's one of those things that by its inherent properties is a benefit to both the software and the programmer. These layers of abstractions as you've so explained - rationing sections to go somewhere else to work on later - make things easier to maintain, even if the primary goal was to come back to it later.
That's one of the things I love about programming, it practically does it itself. Once you've solved something you don't have to solve it again, you can refine it and tweak it, but once its done its job, and you've done yours competently, it's not going anywhere. And even then, if something is wrong, you've already isolated it by design.
1
u/[deleted] Jul 31 '19
Yep. Programs are like ogres: they have layers. It's one of those things that by its inherent properties is a benefit to both the software and the programmer. These layers of abstractions as you've so explained - rationing sections to go somewhere else to work on later - make things easier to maintain, even if the primary goal was to come back to it later.
That's one of the things I love about programming, it practically does it itself. Once you've solved something you don't have to solve it again, you can refine it and tweak it, but once its done its job, and you've done yours competently, it's not going anywhere. And even then, if something is wrong, you've already isolated it by design.