Every piece of code is a theorem. It is a sequence of logical conclusions, each based on the one before, leading up to desired behavior. To validate that behavior, you need to prove the theorem. Even though most compilers don't prove those theorems for you, they can still provide some assistance.
Q.E.D. coding is based on the combined works of great mathematicians and practitioners in the field of software. Some of the influences include:
- Bertrand Meyer - author of Object Oriented Software Construction
- Robert C. Martin - author of Design Principles and Design Patterns
- Euclid - author of The Elements
- Alan Turing - author of Computing Machinery and Machine Intelligence
- Donald Knuth - author of The Art of Computer Programming
Software has a long tradition as applied mathematics. Q.E.D. coding draws from that tradition to define a practice of creating reliable, provable software.