Within reason this is true but you also have to agree that it often goes too far. Not everything needs to be an interface or factory. For example if your making a pdf viewer dont concern yourself with abstracting how to open a file, you know it will be a pdf. If someone opens a gif with a pdf reader it’s ok to give an error. Plus to me a lot of “maintainable” code is difficult to work with because there’s so many levels of abstraction and functions spread across multiple files I can’t keep all that in my head.
Also if you only need one or two functions you don’t need to import a whole library. For example look up “handmade hero” and see how Casey works with the windows libraries.
As programmers I feel we have a duty to the environment to write software that operates efficiently
maintainable code is most efficient
sure there is a trade off but i’d rather runtime be slower than fancy brittle faster code
Within reason this is true but you also have to agree that it often goes too far. Not everything needs to be an interface or factory. For example if your making a pdf viewer dont concern yourself with abstracting how to open a file, you know it will be a pdf. If someone opens a gif with a pdf reader it’s ok to give an error. Plus to me a lot of “maintainable” code is difficult to work with because there’s so many levels of abstraction and functions spread across multiple files I can’t keep all that in my head.
Also if you only need one or two functions you don’t need to import a whole library. For example look up “handmade hero” and see how Casey works with the windows libraries.
If most programmers thought like this the world would be so cool.