Using unsafe programming tools
This is here for me to link to/copypaste whenever this discussion comes up; it is not a complex debate and I am bored of repeating myself in lesser words:
-
Any behaviours or outcomes that a tool or toolset allows by design to occur, will at some point occur.
-
Software engineers should be as rigorous as possible.
-
Even software engineers with decades of experience make simple errors in production code.
-
Expecting software engineers to possess a level of fallibility that does not consistently exist in the real world is not an expectation formed through non-emotional decision-making.
-
Regardless of what confounding circumstances lead to the decision to use an unsafe tool when safer alternatives are available, that decision to use such a tool is a decision to enable & accept the consequences of the undesired behaviours or outcomes that tool enables by design.
-
Unless truly necessary, using the most secure tools possible in every non-trivial scenario is the most prudent, professional decision.