I know, I know. One-hundred and two minutes! Yikes! But, boy-oh-boy did I have a lot of fun making this one. I mean, I really got my geek on to make this episode.
After all, this episode is about Dijkstra, Edsger Wibe Dijkstra! One of the very first programmers in the world, and the father of Structured Programming.
This episode is all about proof. It begins with the third promise from The Programmer's Oath:
I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
Then it explores what Dijkstra thought those proofs might be, and how those thoughts led him to Structured Programming and the elimination of the goto
statement.
We'll discuss how Dijkstra's ideas about program structure led, in the long run, to Test Driven Development. We'll also discuss how his ideas about proofs eventually failed, and the scientific concepts that replaced them.
And get ready to see a lot of code—some of it old, some of it new, some of it borrowed, and some of it (well, yes, there is a sad story in here) blue. Also get ready for some math, some logic, and a fair bit of the history of our profession.
So, without further ado, let's get started on Proof.