(no title)
thinkzilla | 5 months ago
In engineering, if your assumptions are correct and you apply the formulas correctly, the bridge will not fall.
This is _not_ true of software, since it suffers from mathematical incompleteness. Computation is isomorphic to mathematics, and, just as there is no way to objectively estimate how long it will take to prove a theorem, there is no way _objectively_ estimate program properties, even simple things like "will this program ever print the string "xx". The proofs are variations of the Halting problem.
http://scribblethink.org/Work/Softestim/kcsest.pdf
Writing software is analogous to discovering the equations of physics of a bridge (physics/math) rather than applying them (engineering).
clifdweller|5 months ago