On 02/21/2011 08:29 PM, Guzdial, Mark wrote:
Sherry Turkle's new book "Alone Together" raises an important point
that is missing from this discussion.  Programming languages can't
saying anything *important* from a human perspective.  I enjoyed the
review of "Alone Together" at
..
Computer programming languages are not languages in any way that is
important or meaningful.


Coming late to the conversation.  Apologies if I'm rehashing covered ground.

I don't really take issue with Mark's point (and others stated upthread) since its obvious that humans use different languages (sign, written, body) to express things that aren't computations or properties thereof, which is often the types of things programming languages are used for.

However at the same time, this solves the problem only by boxing in programming languages artificially by defining them to be the communication that humans (currently) make to computers. There's three useful arguments to counter this.

First, in the future we may program our robots using Natural Language -- real Natural Language -- in which case the categorical distinction vanishes by definition.

Second, there are some *extremely* technical sub-languages for human-human communication and these would never have expressions of "I love you" or "I'm sorry". Yet if we took away all such common speech would that sub-language suddenly cease to be a natural language? Likewise we'd be hard pressed to full express all of Nietzsche using body language. So requiring some target concepts be expressed to call it a Natural language seems like a tenuous point to hang the whole argument on.

Even if you don't like these two arguments, surely most would admit that *one* of the primary purposes of good programming languages is human-human communication. In fact, this was an essential point of the title of Peter Naur's collection "Computing: A Human Activity". In this narrow sense programming languages and natural languages are not incomparable. Rather than pound on this second point I offer some examples.

Comments. Use of whitespace. Programming idioms, design patterns, reference architectures. Mutual intelligibility is not by accident, readers of code form linguistic communities. There is a social dimension to code as well as the classic utilitarian dimension.

The following is clearly human-human communication. It is syntactically correct Perl:
  Please, listen to, my $words;
  seek love, joy, happiness for everything;
  study hard and sleep longer if able;
From (http://www.perlmonks.org/index.pl?node_id=882536)

The following is also valid Perl:
  print "I love you.";
This expresses a simple emotion. Electronic greeting cards and computer art are merely more elaborate versions of the same trick. If algorithms are expressive in themselves then they are ways for humans to communicate (see the thesis of Lopes http://apoca.mentalpaint.net/). The thesis is a specific extension of Naur (computing is a human activity). If true, programs are expressive beyond their ability to formalize a computation since the computations are expressive.

http://www2.us.ioccc.org/1995/heathbar.c
The explanation of this program is here http://www2.us.ioccc.org/1995/heathbar.hint This is an entry into an obfuscated C programming contest. Many will agree that C is obfuscated by construction. Others observe that we have no shortage of inscrutable code -- certainly introductory programming instructors are acutely aware of it. Still, we have an obfuscated C programming contest where the winners do not win by merit of the computation expressed, but by the properties of its expression as interpreted by humans.

http://www-2.cs.cmu.edu/~dst/DeCSS/Gallery/decss-haiku.txt
This page provides Haiku versions of the DeCSS DVD decryption algorithm. The DeCSS code was put on t-shirts and into dramatic reading and into Haiku. Many people did this because the algorithm was being suppressed, and the link above can be seen as expression of political discourse through the use of programming languages.

TL;DNR It is useful to confine programming languages to only their ability to formalize computations or properties thereof, but from a wider perspective they are used by people for some of the same purposes that natural languages are used for.

Andrew

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