It does sound as though there's a category confusion there. There's clearly a range of things that have a strong family resemblance. We have Spoken human languages. Signed human languages. Written human languages. Invented human languages like Esperanto and lojban. Written notations like knitting patterns. Symbolic drawn notations like music. Topologically faithful drawn notations like wiring and plumbing diagrams, Algorithms can be expressed in most of these: you can recite Euclid's algorithm by voice, you can write it down in Greek, you can use Dijkstra's notation, or you can use a visual programming language. If your programming language is a stylised subset of English like Cobol or AppleScript or some data base query languages -- wasn't there one called Natural? -- does that make it "language"? And if you translate it to a flowchart, does that make it "not language"?
Back before the Loglan/lojban split, Loglan was designed to be easy to parse by computer. Does that make it NOT a human language? But people do write it and speak it to do pretty much everything people do with English. Programming languages are extremely limited compared with natural languages. But then, using a Bliss board provides you with a very limited communication channel, even though Blissymbolics was originally invented to be a universal written language. Does that mean that someone conveying their needs by pointing to symbols on a Bliss board is using language, or not? On 18/02/2011, at 3:55 AM, alex wrote: > > Ian Bogost starts off by arguing that learning a programming language > shouldn't meet a curricular requirement for learning a natural > language. That's fair enough. It's fair enough not because of what a programming language *is* (or isn't) but what it can (or can't) *do*, and that is to exchange ordinary human thoughts with other people. > "the ability to translate natural languages doesn't really translate > (as it were) to computer languages" > > It clearly does. I would have said that it clearly doesn't. You *can* translate Yesterday Sue hoped that Bill's surviving the crash would not mean her exposure as the criminal who had repeatedly taken the school apples, but I fear that she will be disappointed at tomorrow's meeting. into other human languages, even Esperanto or Klingon (if Klingon has a word for 'apple' or 'fear' (:-)). But you can't translate it into Haskell or Ada. Note that it's not just references to the body and its environment, there's tense/mood/aspect as well. You *can* translate a sentence like that into a mathematically defined logical form which can be represented inside a computer and to some extent manipulated by a computer. But I do not see how the result can be usefully called a 'program'. I think it may be more useful to ask "in what ways are programming notations like, and in what ways unlike, natural languages". Are identifiers in programs more like nouns or pronouns, for example? -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).