Today I am announcing the release of The Elements of Programming, a work that sets out to define programming as a formal discipline built from first principles. It is written in the style of Euclid’s Elements, with definitions, propositions, and proofs arranged to form a coherent structure of reasoning about code, systems, and logic.
The book was developed independently but appeared on the same day on HN as Rado Kirov’s essay Why Formalize Mathematics. The coincidence reflects a wider shift across mathematics and computing toward formal structure, reproducibility, and clarity of reasoning.
The Elements of Programming explores how programming languages, compilers, and operating systems can be described with the same rigor that mathematicians bring to proofs. It connects the foundations of logic with practical systems design, emphasizing transparent structure and long-term maintainability.
I would welcome discussion and feedback from anyone interested in formal methods, programming language theory, or the future of software as a formal science.
vesterthacker•2h ago
The book was developed independently but appeared on the same day on HN as Rado Kirov’s essay Why Formalize Mathematics. The coincidence reflects a wider shift across mathematics and computing toward formal structure, reproducibility, and clarity of reasoning.
The Elements of Programming explores how programming languages, compilers, and operating systems can be described with the same rigor that mathematicians bring to proofs. It connects the foundations of logic with practical systems design, emphasizing transparent structure and long-term maintainability.
You can find the book here: https://leanpub.com/elementsofprogramming
I would welcome discussion and feedback from anyone interested in formal methods, programming language theory, or the future of software as a formal science.