Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Wittgenstein for programmers (hxa.name)
41 points by bkudria on Feb 19, 2011 | hide | past | favorite | 7 comments


It'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.


No, 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.


Wittgenstein 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)


This 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-Mat...

Edit: excerpt here: http://www.turing.org.uk/philosophy/ex4.html


The 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_...


I'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).


Unlikely, 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: