Skip navigation

I want to think more superficially than Ira about the relationship between code and natural language, so here is another set of undisciplined leaps (soon to be disciplined, as I slog through Logic & Language ed. by Benthem and Ter Meulen).  Casey Reas iterates the standard line about the difference between code and natural language:

Machine languages are very different from human languages: They are terse, have strict syntactial rules, and small vocabularies.  In contrast, our languages are verbose, ambiguous, and contain huge vocabularies.  ("The Language of Computers," in Creative Code, Maeda).

My own experience in both programming and writing is that, when you are first learning to write them, programs approach natural language in ambiguity and verbosity.  And the same is true of natural language: the more skilled you get, the more you can reduce verbosity and control ambiguity.  Well, you might say, if a person is an unskilled programmer, the program doesn't work.  And natural language DOES?  I remember when I first read an essay by M. H. Abrams attacking J. Hillis Miller: it was written when deconstruction first came on the scene.  Abrams countered Derrida and Miller with "language works!"  I remember thinking to myself, that doesn't really match my daily experience.  It works sometimes a lot better than others — and that's just at the level of passing information — never mind sincerity, authenticity, effectivity.

But the breakdowns in programming and natural language differ.  When your program is syntactially ill-formed, it works not at all, whereas something happens when you write bad sentences; it just may not be what you want to have happen.  Why?

Reas goes on to say that newer programming languages are "compromises" between machine and natural languages, and the XSL I use, which is very Englishy because XML-based, works all the time with ambiguous rules: everytime I run one particular set of transfroms, I get forty or fifty warnings about ambiguous rules.  Ambiguity will simply cause it to not run the same way each time.  But in natural language, ambiguity is different.  Certain kinds of ambiguity a writer wants absolutely to eliminate, the ambiguity that comes from confusion.  But other kinds are cultivated by writers, and there is one fundamental kind of ambiguity that natural languages have: no sentence ever — ever — does only one thing.  It may tell a story, but it is also a move in a game: every story told in every sentence is persuasive, seductive.  There is no grammar without motive (to borrow a title from Kenneth Burke).

The major thinkers who tried to bridge the division between logic and grammar were the logical positivists, Carnap, the Vienna Circle, and Wittgenstein was one of them.  The early (logical) Wittgenstein attempts to reduce natural language to logical propositions.  The late (grammatical) Wittgenstein adds the game element to linguistic propositions.

But if grammar differs from logic because of motive — desire for a win state — and game rules, can't code come close to natural language?  Making games is one thing you can do with it.  But really to be a natural language, it has to come from the human mouth.  So you have code that a computer takes up and does something with.  As John Simon says, the machine takes the words out of your mouth:

When I describe programming as creative writing, I am thinking beyond the short stories and poems I wrote as a freshman in English class.  The process of coming up with an idea, developing it, and finally sitting down to type it is still the same.  But I consider programming as creative writing for a different reason: When I have finished typing, it is the writing itself that starts to create.  The code becomes a working machine, and it is fascinating to see what it will do.  ("Authorship, Creativity, and Code," in Creative Code, Maeda)

Natural language is like that, too: it takes you up and invents you as you write; it is like a machine.  But at some point your own deeper motives change the rules.  Maybe code will approach natural language as soon as programs can be written that allow the user to make changes in the program.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: