>> The definition of 'language' depends on who you are talking to.

I think that based on this discussion and earlier
discussions, it is not always clear what the term
"programming language" means. From the compilation
point of view the term is clear, i.e., the lexical
rules and the syntax of the language specify
accurately what the language is.
Kernighan and Ritchie used the term in that sense
in their famous book, thus excluding printf from the language.

From a human point of view, the term is less clear.
A computer program usually contains names (identifiers) that
must be understood by a person who wants to know how
that particular program works. If a program contains
definitions such as

   int nwhite, nother;
   int ndigit[10];

can we say that the names nwhite, nother, and ndigit,
belong to the used programming language?

  If the answer is 'yes', all lexically correct names
  belong to the programming language, resulting in that
  the programming language is a huge set of symbols.

  If the answer is 'no', one might ask that into which
  language these names belong if they do not belong
  to the used programming language. They are not
  English words, if English words are those that can
  be found in an English dictionary.

As both of these answers are somehow 'not good', I ended
up proposing the idea that each computer program or any
other document could be seen as containing its own
language. Thus the above names would belong to the
language of the program in which they were used.

A name such as 'nwhite' can mean different things
in different programs. In the program from which I
copied it it was used to count white space characters.
In a chess-playing application it might be used to
count white chess pieces. A symbol can have a
different meaning depending on in which language it
is used.

In the paper
http://www.naturalprogramming.com/to_read/estimating_understandability_etc.pdf
I have shown that these 'new' languages can be used
to compare different naming styles in computer programs, and
to show how computer programs relate to other
software documents.

Writing computer programs is a creative activity.
If a computer program is considered to contain
its own language, part of the programming project
is then to create the language that is used in
the program.



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