Found in 3 comments on Hacker News
User23 · 2020-06-11 · Original thread
The predicate calculus. I regularly review Predicate Calculus and Program Semantics[1] to increase my fluency in the techniques. I also recommend A Discipline of Programming[2] as a gentler introduction to the subject for those who do not consider themselves particularly mathematically inclined. For me it was a natural progression from doing TDD. I still code test first, but now the structure of those tests and programs is guided by a better understanding of program semantics, greatly increasing my code quality.



User23 · 2018-11-09 · Original thread
Dijkstra and Scholten's is a good example of what I mean.

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!

bmer · 2016-08-08 · Original thread
A series of essays and books impacted my life the most. It all started on a sunny day, when I was a structural engineering intern full of hope and a beautiful girlfriend, waiting for my code to run(blah blah iteratively determine deflections of structures with non-linear stress-strain responses blah blah), when I read:

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":

After that I read:

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.