I think I would propose an alternative structuring.
Computers, Language, Syntax, Semantics, ... - are all categories being placed
over a deeply complicated social mess. Any attempt at forming dichotomies will
be in some sense wrong, and in some sense right. This is typical of any
environment that escapes the clutches of modernist reductionism.
For example, see Alan Blackwell's paper showing the socio-technical
co-construction of names in APIs. They have politics, computational pragmatics,
and even a bit of syntax here and there.
When dealing with messy subjects like this, the question then becomes not,
is true?' (as the answer is both everything and nothing simultaneously), but
rather 'what is useful?'
So when is it helpful to think of these systems in the various different ways?
honestly don't know, I would like to though.
My guess is that for a first language it doesn't matter, that these things
matter when asking people to transfer knowledge between different languages.
That's a guess though. Anyone fancy doing the experiment?
This debate, and related ones, seem to cause a lot of heart-ache amongst
computer scientists. I've just had to advise someone that their 'introduction
programming language x' should have the first section of it that attempted to
position it in terms of all these things dropped in exchange for explaining
the language is useful. It was clearly painful for them, but clearly deeply
welcomed by the prospective users.
I'm going to go back to my postmodern wilderness of 'woolly thinking' now.
>On Wed, Feb 23, 2011 at 4:18 PM, alex <a...@slab.org> wrote:
Thanks for the illuminating response,
On 22 February 2011 03:39, Andrew Walenstein <walen...@ieee.org> wrote:
> 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.
I hadn't read Peter Naur's work before, and am now very much enjoying
what I can find. I've just got my hands on a copy of the collection
you cite, and it includes the following:
"PROGRAMMING LANGUAGES ARE NOT LANGUAGES--WHY 'PROGRAMMING LANGUAGE'
IS A MISLEADING DESIGNATION"
This seems very relevant to this discussion! Although Naur thinks
computing is a human activity, Naur doesn't appear to think that
programming languages are languages.
After a quick read his argument seems to be that grammar rules are not
important to language, but that speech is the primary form of
language, and that speech is ungrammatical. Language then is not a
thing that can be specified, but rather something you do, by speaking.
He asserts that dictionaries and the like are unimportant, and people
demonstrably don't understand each other's utterances anyway, at least
not very far. That is, that meaning is a personal matter.
He doesn't directly answer the question "Are programming languages
languages?", except in the title of the essay. But his point of view
seems to be in accordance with the Wittgenstein programming languages
are suburbs line, that programming languages are a "special, limited
part of the linguistic possibilities, deliberately designed to cater
for certain limited situations and purposes."
Perhaps someone more familiar with Naur's work would disagree with my
The Open University is incorporated by Royal Charter (RC 000391), an exempt
charity in England & Wales and a charity registered in Scotland (SC 038302).