5 ms·
Wittgenstein for programmers
- cyrus_ 16y agoThe idea of "programs as propositions" espoused here is in apparent conflict with the more widely known Curry-Howard correspondence [1], which states that programs can be interpretted as proofs and _types_ are propositions. [1] https://secure.wikimedia.org/wikipedia/en/wiki/Curry-Howard_correspondence https://secure.wikimedia.org/wikipedia/en/wiki/Curry-Howard_...
- sid0 16y agoI'm not familiar with Wittgenstein (it's on my list), but I wonder if the difference is in the system of logic followed (intuitionist vs classical).
- merijnv 16y agoUnlikely, intuionist and classical logic are not fundamentally different. The only difference is that the law of excluded middle (A or (not A)) is an axiom (i.e. assumed to be true) in classical logic.
- defen 16y agoThis seems to set up some interesting parallels to the Tractatus, but I don't think it does so in a way that improves our understanding of software engineering. I'm tempted to put it in the "not even wrong" category, but I'm worried that may be too harsh, and I may need to go back and think on it some more. Incidentally, computer-types may be interested to know that Alan Turing sat in on some of Wittgenstein's lectures on the foundations of mathematics, and they didn't quite see eye-to-eye. http://www.amazon.com/Wittgensteins-Lectures-Foundations-Mathematics-Cambridge/dp/0226904261 http://www.amazon.com/Wittgensteins-Lectures-Foundations-Mat... Edit: excerpt here: http://www.turing.org.uk/philosophy/ex4.html http://www.turing.org.uk/philosophy/ex4.html
- siglesias 16y agoIt's funny because aside from denouncing the Tractatus as containing fundamental errors, Wittgenstein in following up with Philosophical Investigations seems to capture language (and, in the extended sense, programming languages) more accurately as a tool. Rather than being a vehicle for making true-false propositions about reality (like a picture), different facets of language are useful in different ways, just like we have a hammer, nails, glue, measuring stick. Just like the world of programs. Thus the Tractatus framework is somewhat forced and a bit misleading, both in terms of Wittgenstein's own thinking and goodness of fit of the metaphor.
- neilk 16y agoNo, the Tractatus could still be applicable to computer programming. The problem with Wittgenstein's earlier work is that his idea of language was that it modelled reality. However, many computer programs really are trying to model something correctly, or at least that's what the Java and UML books tell us. ;) So the Tractatus could apply. But the latter Wittgenstein is lurking in most real-world programs -- what they do isn't anything about describing a ideal model, it's just... what they do. Anyway, I doubt any of this will help anyone write or understand computing better, but it's fun to think about.
- hxa7241 16y agoWittgenstein reportedly (from Anscombe) used to say that the Tractatus was not all wrong: it was not like a bag of junk professing to be a clock, but like a clock that did not tell you the right time. Which is perhaps more interesting than an ordinary clock anyway! (and I might do part 2 later)