The state space is far too large to show a program is correct by constructing all possible processes it could execute. Instead you must show that the program admits no incorrect processes whatsoever, and as far as I know mathematical formalism is the only possible way to do that.
Of course if one just wants to make money, formal correctness is observably of absolutely no importance. And there's nothing wrong with wanting to make money!
I quit my job the next day.
This was the beginning of the end. Like with all drugs, there is a slippery slope. You start with marijuana, and you move onto heroin. In my case, I graduated to:
"Formal Methods of Software Design": http://www.cs.toronto.edu/~hehner/FMSD/
After that I read: https://www.amazon.com/Predicate-Calculus-Program-Semantics-...
Now in general I am quite depressed:
* I am very judgemental and look down upon most HN posts, especially the ones that praise Alan Kay, natural language programming, or view programming as a "craft" rather than a "science"; my favourite HN feature is the "hide" button
* I am disappointed with my math education, and tired of all the rabbits being pulled out of hats in my textbooks
* I wish I had enough will power and discipline to write a programming language that is nothing more than predicate calculus, but I don't
I foresee that as a result of these readings, I will die alone, sad, and depressed...oh AND penniless.
I wish I was joking.
That's a pretty huge impact.
Fresh book recommendations delivered straight to your inbox every Thursday.