The Epistemology of Software Engineering

How do you know your software is correct? When you dig deep into that question, it turns out there’s no easy answer. There may be no answer whatsoever. This question parallels one of the most fundamental questions in philosophy: “How do I know a proposition is true?” This question is so difficult that there’s an entire field of philosophy dedicated to it, epistemology. The various schools of thought in epistemology are eerily similar to the various techniques used by software engineers to determine software correctness.

Take a whirlwhind tour through the epistemology of software engineering and see how philosophers like Descartes, Hume, and Locke can teach us to write better code. See how schools of thought like foundationalism, skepticism, and empiricism relate to software development. And finally, you’ll see why Aristotle would have been a terrible programmer.

Video producer: JDD Conference