Second, as we make more complex systems, we could just prove that they
work as intended. (Provided the underlying hardware works as
intended, which as you pointed out is not allways the case). Okay,
it's expensive to prove your software. But it's not impossible: just
use proven libraries, and prove that your software works if the
dependencies and the hardware work. No need to prove the whole stack.
Sure, it's expensive in the short term. But think of the total
absence of effort you will need to invest over debugging.
---
Of course, right now, we're deep in the poo. Hail to Worse Sells Better!
Comments
Complexity is not hopeless.
First, http://www.vpri.org/html/work/ifnct.htm and http://www.vpri.org/pdf/tr2011004_steps11.pdf (Personal computing, which currently fit in about 200 Million lines, or 10 thousand books, could actually fit in about 20.000 lines, or a single book.)
Second, as we make more complex systems, we could just prove that they work as intended. (Provided the underlying hardware works as intended, which as you pointed out is not allways the case). Okay, it's expensive to prove your software. But it's not impossible: just use proven libraries, and prove that your software works if the dependencies and the hardware work. No need to prove the whole stack.
Sure, it's expensive in the short term. But think of the total absence of effort you will need to invest over debugging.
---
Of course, right now, we're deep in the poo. Hail to Worse Sells Better!