Tractatus Digito-Philosophicus
April 25, 2011 6:44 AM   Subscribe

"This is a somewhat odd venture: a translation of Wittgenstein's Tractatus into the domain of software development." Wait, not so crazy, Harrison Ainsworth explains, "Central in the Tractatus is the concept of the ‘proposition’: a statement about the world that can be true or false. It is a logical artifact used to describe the world (and so links logic and world together). This maps straightforwardly to software: a proposition becomes a program. Where a proposition describes the world, a program constructs the imagination, or intended-world – an artifact. A program is like an executable proposition."
posted by geoff. (29 comments total) 28 users marked this as a favorite
 
This is already my favorite post ever.
posted by ged at 6:46 AM on April 25, 2011


It is contradictory to try to design software to meet truly unknown future needs. You can only design for what you know. A philosophical underpinning to the agile approach for software development! Scrum is so hot right now!
posted by joecacti at 6:55 AM on April 25, 2011


I'm not sure how I should feel about this.
posted by wittgenstein at 7:12 AM on April 25, 2011 [5 favorites]


Here is a copy of the Tractatus, for compariosn.
posted by oddman at 7:20 AM on April 25, 2011


This sounded like a great idea from the post, but this book was written with such a high level of both respect and loathing for reader that I'd be shocked if anyone made it through the whole thing.
posted by jewzilla at 7:20 AM on April 25, 2011


There is a clear isomorphism.

Seems relevant.
posted by a snickering nuthatch at 7:24 AM on April 25, 2011 [2 favorites]


I remember trying to read the Tractatus in college. I took it out of the library, read the first line, thought "what the hell is a case", and promptly returned it. Too rich for my blood.
posted by Omon Ra at 7:28 AM on April 25, 2011


The fact that logical positivism was later resoundingly rejected by Wittgenstein himself, and is largely considered an abject failure as a project ...bodes well for this application.
posted by leotrotsky at 7:30 AM on April 25, 2011 [5 favorites]


The fact that logical positivism was later resoundingly rejected by Wittgenstein himself, and is largely considered an abject failure as a project

There are lots of ideas that don't work well for the intended purpose that work well as applied to another domain.
posted by empath at 7:33 AM on April 25, 2011 [1 favorite]


Platos cave has a half-assed waterfall as a water feature.
posted by Artw at 7:35 AM on April 25, 2011 [3 favorites]


The fact that logical positivism was later resoundingly rejected by Wittgenstein himself, and is largely considered an abject failure as a project ...bodes well for this application.

If you apply Popper's replacement of verifiability with falsifiability to this idea, you get something with similarities to the halting problem. We can't prove that a program is correct, just that it isn't wrong yet.
posted by atrazine at 7:37 AM on April 25, 2011


Needs more hippopotamus.
posted by Sticherbeast at 7:43 AM on April 25, 2011


A program is a set of propositions declaring what the world (output) will look like (i.e. what will be the case) under specified input. Software as such is a subset of (wittgensteinian) propositions, so this is just a de-generalized version of Tractatus. And if the lost generality is not compensated for by higher specificity, this remains a massive waste of time.
posted by Bas at 7:43 AM on April 25, 2011 [2 favorites]


Software is propositional, life is not. It's sort of neat to try and map this onto the Tractatus, but maintaining the correspondence will be hard, especially when so many of Wittgenstein's terms are hard to understand in the first place ('simples,' etc.). It'll be harder to write (and more interesting to read) once he gets to the mystical stuff towards the end.

I think that many others have tried similar projects (not involving LW/TLP) before. Hubert Dreyfus' "What Computers Can't Do" is one good example.
posted by carter at 7:56 AM on April 25, 2011 [2 favorites]


GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa

This makes me want to punch someone. I now yearn for the brevity and precision with which logic is presented when it is done by mathematicians instead of philosophers.

If you are actually interested in the bridge between CS and philosophical logic, read this instead: Proofs are Programs: 19th Century Logic and 21st Century Computing [PDF] by Philip Wadler.
posted by qxntpqbbbqxl at 8:21 AM on April 25, 2011 [2 favorites]


I now yearn for the brevity and precision with which logic is presented when it is done by mathematicians instead of philosophers.

Suffice to say that the Tractatus was not representative of how philosophers wrote about logic even when it was first published. A better example would be one of the two teachers Wittgenstein credits in the Preface: Russell and Frege.
posted by Marty Marx at 8:58 AM on April 25, 2011 [2 favorites]


Searched for "GOTO", no matches found.
posted by dragonsi55 at 9:37 AM on April 25, 2011


I don't think Harrison understands early Wittgenstein very well.
posted by Lutoslawski at 9:52 AM on April 25, 2011


If you are actually interested in the bridge between CS and philosophical logic, read this instead

That's a neat paper and I like functional programming too, but the title implies a way more general historical account than the paper actually gives. It doesn't even mention Prolog, which ought to be the test case for any propositional account of programming. (This weird "Tractatus," more like parody than adaptation, omits it too.)

Software as such is a subset of (wittgensteinian) propositions

Yes, this is the central problem here as it often is in discussions of programming as a human language practice. If programming language is language, then why do we need a special case of the philosophy of language to handle it? (That's not a rhetorical question, but one that proponents of the special case should be addressing right up front.) If Ainsworth has an answer to that, I don't see it here.
posted by RogerB at 10:16 AM on April 25, 2011 [2 favorites]


(This weird "Tractatus," more like parody than adaptation, omits it too.)

I'm pretty sure it is a half serious parody.
posted by geoff. at 10:28 AM on April 25, 2011


Lutaslowski: I don't think Harrison understands early Wittgenstein very well.

Yeah, I'll second that. And the translation table is full of so many increases in vagueness, strained implicit analogies and just willful shifts of subject that the isomorphism is trivial. Wittgenstein wrote very structurally simple, fairly short declarative sentences in the Tractatus. Surely there are lots of viable tables, but that doesn't tell us much about Wittgenstein or computation.
posted by el_lupino at 10:30 AM on April 25, 2011 [3 favorites]


Wittgenstein was obsessive in his structural search for a "truth" that would give him personal peace; I'm using the word "obsessive" to make the point that it was a determined search that underpinned a *personal* search. His work was both a search and a distraction from massive personal problems that more than once almost sunk him.

I know that some disagree with this, and that others might see it as a tautology - i.e. Wittgenstein's process could be seen as an analogue to almost any determined effort to get at the truth, in many disciplines (including things like science, cognitive therapy, etc.).

Certainly, programming as it currently exists - and as it evolves towards richer contextual development (including self-reproducing capacities) falls into the rubric of Wittgenstein's logical approach to the world. And, when I say "logical", I don't mean devoid of emotion; Wittgenstein was a highly emotional person; that's one of the reasons that the entirety of his work, and his various philosophical "turns" are so absolutely stunning.

Anyway, back to the software thing; if Wittgenstein happens to be a software developer's thing, then, yes, one might see a connection.
posted by Vibrissae at 11:15 AM on April 25, 2011


Logic schmogic, it's way more fun to think of software as actually functional spellcasting, programs as incantations-magic is the use of efficacious words, which don't necessarily describe the case prior to their utterance.
posted by generalist at 11:53 AM on April 25, 2011 [1 favorite]


I'm somewhat familiar with the Tractatus, and Wittgenstein's project at the time, and this seems really unclear and confusing.

Example: "a program's sense can be understood independently from knowing if it does what is wanted or not." In the Tractatus, a proposition's meaning is what would be the case if the proposition is true -- it is separate from the actual fact-finding, as it were. So, I interpret this as:

A program's sense can be understood as what would be the case if it does what is 'wanted', independently from knowing if it does what is wanted or not.

Now, instead of a definition of meaning that includes the proposition and the coordinates of its truth conditions in the world, we're dealing with the program, what we want it to do, and what it actually does. This introduces more questions than answers: what is the relationship of what we want to the program and its effects, and why isn't the meaning of a program clear in itself? Code is a set of instructions to be evaluated procedurally, and given enough time, one can always find out what a string of code would do if it was evaluated -- so who cares about what someone wants from it?

Is the author speaking of programs on the whole (and not their constituent code) as propositions? Can anyone help me here? I'm this close to passing on in silence...
posted by anotherbrick at 1:23 PM on April 25, 2011




Yeah, there is a clear link between the work of guys like (Russel, Wittgenstein and Godel) and Turing. It's all about expressing logical and mathematical statements in a purely. But it's important to understand that the original goal: To be able to come up with a system that could determine the truth or falseness of any given statement mechanically was a failure. You can see that easily in a statement like "given a certain F() and and input X will F(X) halt?" that's a clear logical statement, yet clearly one that can't be answered due to the halting problem.
posted by delmoi at 6:23 PM on April 25, 2011


"Schalge Geld aus jedem Fehler."
posted by clavdivs at 8:15 PM on April 25, 2011


Oh geez. What we can program at all can be programmed clearly. Beyond the BASICs programming really has nothing to accomplish.

Sorry if that's not long enough.
posted by Twang at 3:39 AM on April 26, 2011 [1 favorite]


Don't look for meaning. Look for use.
posted by judson at 7:06 AM on April 26, 2011 [3 favorites]


« Older Bourbon: Is there anything it can't do?   |   "The man who gave comics its memory" Bill... Newer »


This thread has been archived and is closed to new comments