However bug-free software may be prohibitively expensive to create. You would need military-style controls on every line of code, every change. Specifications going to the n-th degree to be ratified and signed off by all of the stakeholders, who need to be highly engaged and quite technical. No vague requirements allowed. If no one makes a mistake in this process then maybe it will be bug free.
Yes bugs really are unavoidable. That will never change because bugs (other than silly errors) are usually an artifact of translation of user requirements, system requirements etc. into a working system.
However I agree it is feeble to use that as an excuse. It's like saying I won't exercise because I can't ever run 100m in 1s, no matter how I hard I train.
Tooling is definitely an issue. I'm reading "You don't know JS" for fun and learning a lot about why JS is a really horrible language to write bug-free code in. If you are stuck with languages like this (and all languages have their respective problems, if not as bad as JS) then it is hard to write bug free software.
I learned it finding that the feeling I get from it is slightly overwhelmed, mostly because there seems to be so many new things coming up and so much is in flux. I found it worthwhile nonetheless as it's useful for some things and Node is kind of cool actually.
I get a fragmented energy from JS and a more integrated energy from, say, Python.
However bug-free software may be prohibitively expensive to create. You would need military-style controls on every line of code, every change. Specifications going to the n-th degree to be ratified and signed off by all of the stakeholders, who need to be highly engaged and quite technical. No vague requirements allowed. If no one makes a mistake in this process then maybe it will be bug free.
Yes bugs really are unavoidable. That will never change because bugs (other than silly errors) are usually an artifact of translation of user requirements, system requirements etc. into a working system.
However I agree it is feeble to use that as an excuse. It's like saying I won't exercise because I can't ever run 100m in 1s, no matter how I hard I train.
Tooling is definitely an issue. I'm reading "You don't know JS" for fun and learning a lot about why JS is a really horrible language to write bug-free code in. If you are stuck with languages like this (and all languages have their respective problems, if not as bad as JS) then it is hard to write bug free software.