&gt; Obviously, the solution is to stop writing arbitrary programs. As Dijkstra said long ago, we need to find a class of intellectually manageable programs - programs that lend themselves to being analyzed and understood.<p>You&#x27;re overlooking the issue of self-reference. A given computer language can validate (i.e. prove correct) a subset of itself, but it cannot be relied on to validate itself. A larger, more complex computer language, created to address the above problem, can check the validity of the above smaller language, but not itself, <i>ad infinitum</i>. It&#x27;s really not that complicated, and the Halting Problem is more fundamental than this entire discussion seems able to acknowledge.