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

Reply via email to