← Back to context

Comment by nuancebydefault

2 years ago

> There's no verification of the design itself.

I think this is mostly a philosophical statement, but it certainly has truth to it.

Code reviews / rework tackle mostly the code, but not the fundamental design. However the execution of the code tackles the design as well:

- If the design is wrong, the result is bad, that is detected at the execution phase.

- If the design is suboptimal (hard to maintain or extend, bad cpu load, hard to reuse...), well that is usually not solved. IMO that matches your point.

>I think this is mostly a philosophical statement, but it certainly has truth to it.

It's fact. What theory is there to prove that the following design is the best possible design? What does "best" even mean? We can't verify formally in anyway how good a design is overall.

We can verify, efficiency, we can verify speed, and we can verify correctness. But design? We can't verify that.

  • How do you prove that a bridge is the 'best' design? What does 'best' mean, for a bridge?

    • That's what a full formal theory encompasses. We need to define the term formally. It can be done for software organization.

      We've defined it for algorithmic complexity. Turns out it's two metrics.. speed and memory. Best means the lowest N, with primitives being algorithmic loops.

      What are the primitive modules used in program organization? Given 3 of the smallest possible primitive modules we can define in computing and all the ways possible to compose those three modules. What composition would be best? What is the metric that fits most well with our notion of best? There may be several metrics here. These questions are the ones that are asked when formalizing a theory derived from intuition.

      For the bridge it's likely balancing several metrics we already know. Safety, cost, length, etc. Once those metrics are quantified a theory exists to find the best. It's called optimization theory.

      2 replies →