
Wittgenstein for programmers - bkudria
http://www.hxa.name/notes/note-hxa7241-20110219T1113Z.html
======
siglesias
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.

~~~
neilk
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.

------
defen
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...](http://www.amazon.com/Wittgensteins-Lectures-Foundations-Mathematics-
Cambridge/dp/0226904261)

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

------
cyrus_
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_...](https://secure.wikimedia.org/wikipedia/en/wiki/Curry-
Howard_correspondence)

~~~
sid0
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).

~~~
merijnv
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.

