[0] https://www.amazon.com/Philosophy-Software-Design-John-Ouste...
In particular:
* Ch. 4 "Modules Should Be Deep"
* Ch. 10 "Define Errors Out Of Existence"
* Ch. 20 "Designing for Performance"I completely disagree. Our industry (or at least parts of it) have absolutely no concern for performance or power consumption (electron is one of the main culprits here, but the issue existed with Java/swing before,and im sure it existed before that too). For the most part, our industry is just as bad at security though, you're right.
I disagree about correctnesd though - correctnesd isnt a binary thing, it's a scale. Some things matter more for correctness (it's ok if we miss an animation transition, it's not ok if we have bad rounding in our financial software). Overall we have a decent grasp of the severity of issues and in prioritising what to ensure is correct.
This has led to people like me who are strong followers of such philosophies and methods who want more time to analyze the real needs of the business and the technical needs of a web site to get beat down by managers who claim they've never known anyone to take more than two weeks to do anything. (A recent true story.)
* can this button do action A? yes move on to B. etc... (don't even look at A anymore)
I completely feel you with this one.
[0] https://en.wikipedia.org/wiki/Unix_philosophy#Doug_McIlroy_o...
[1] http://suckless.org/philosophy/
[2] http://harmful.cat-v.org/software/
[3] https://www.fefe.de/dietlibc/diet.pdf
[4] https://www.fefe.de/djb/
[5] https://www.fefe.de/libowfat/