Hello All,

To respond to the previous discussion related
to programming languages and natural languages,
I decided to start a new discussion. My purpose
here is to explain a kind of language theory that I
developed quite many years ago.

A classic book about the C programming language
begins with a program that contains the statement

   printf("hello, world");

It has been said, however, that the printf function
that is used in the above statement does not
belong to the language itself but it is a library
function. To me, this raises questions: Why
begin a book about a programming language by
showing something that does not belong to the language?
If the above printf function does not belong to the
used programming language, into which language it belongs?

To respond to questions like these in the context of
computer programs, I have redefined the word "language"
so that there does not exist pure programming languages
or natural languages. Instead, each computer program
or any other document has its own language that
can be defined as a set of symbols. For example,
the language used in the above statement, consists
of the symbols

    printf   (   "  hello   ,   world   )   ;

Similarly, it would be possible to list all the
symbols that are used in this message. That set of
symbols would be the language used in this message.
The language of the single statement above would then
be a sub-language of the language of this message.

With this kind of view to languages it is possible
to try to figure out how complex some programs or
other documents are. The language theory is
explained in more detail in the paper
http://www.naturalprogramming.com/to_read/estimating_understandability_etc.pdf

I would like to emphasize that I discuss languages
here from the human point of view (e.g. how a human
understands a computer program.) How a compiler
'understands' a program is quite well defined.

When a language is treated as a set of symbols,
less emphasis is put to the syntax of the language.
It can be assumed that it is part of the meaning
of a symbol how it can be connected with other
symbols. In the world of (spoken) languages the
meanings of symbols change. For example, originally
the word 'Google' was a noun (name), but later on it
has been used as a verb.

It is also important to note that a person can think
that another person has misunderstood a symbol or
a set of symbols of a language. I cannot know how
you interpret the symbols that are used in this
message. However, I can be sure that the symbols
themselves will stay the same regardless of how they
are understood.

A person can have a weak or strong meaning for a symbol.
For example, the meaning of the symbol 'printf' above
can vary depending on how much the reader is familiar
with C programming.

I think this theory of languages is related to the
quasi-linguisticness that was discussed in an earlier
thread.

    - Kari


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