On 29-Jun-06, at 4:43 AM, Randy MacDonald wrote:
Donna;
Your posts, while articulate, seem to be veering off into meta-land.
Dear Randy
This message is in response to your comment to me quoted above and
not to the balance of your e-mail from which it was quoted.
This message is in English, or rather Canadian English and not a
controlled language in the sense of
ASD Simplified Technical Englishâ„¢ (www.simplifiedenglish-aecma.org)
or in a similar controlled language for J, the J terms which I think
Dr Iverson set out in the J Introduction and Dictionary. I am unsure
exactly how he described these as I have not yet located my copy of
this book and rely instead on the on-line documentation of J.
This message is posted in Jgeneral because I think it is a topic of
general interest to the J community because it is of a general nature
and is relevant to the understanding of J and also because this is
is the only J forum to which I can post and from which I receive
responses since my application to join the beta forum where I am
hoping to report my experience with trying to use J601 on my machine
or the programming forum where I am hoping to participate in
discussions focussed solely on programming in J as a beginner.
I am glad that you brought up the subject of meta-land as it
encourages me to ask my own question about meta-land, which I had
held in reserve because I was unsure if it was meant to be discussed
in this forum or if it belonged in meta-meta-land forum.
I think that, rather than "seem to be veering off into meta-land", my
posts to date have all been in meta-land since I am not yet familiar
with J and have been exploring J through a meta-land description of J
supplemented by trial of a few phrases of J experimentally in the JFE
to the JE.
In my exploration so far I encountered
file:///Users/sid/j504/system/extras/help/primer/terminology.htm
which reads
Terminology
All programming languages have things in common with the English
language. Where the analogy is close, J tends to use English
language terms in preference to terms used in math and other
programming languages.
You could, as in other languages, say line of code, but in J you
tend to say sentence instead. Similarly you could refer to the +
function, but you usually say verb.
Some English language terms used in J are: alphabet, word,
sentence, verb, noun, adverb, and conjunction.
There are several reasons for this approach. One problem it deals
with is the plethora of related, but subtly different, uses of
traditional terms in math and numerous programming languages. For
example: function, subfunction, operator, program, routine, and
subroutine are all used in slightly different ways in different
programming languages. Rather than inherit this confusion, J adopts
its own terms, and defines them precisely within its context.
Using English terms gives you a good idea of what the general
meaning of the term is in J. In addition, using natural language
terms encourages and facilitates taking the English statement of a
problem and more directly writing the corresponding J sentences.
The use of the J terms is encouraged, but certainly isn't
mandatory, and using the term function instead of verb is quite OK.
The statement:
All programming languages have things in common with the English
language.
seems unnecessarily Anglo-centric. The balance of the text makes
no distinction between the programming language J and the
metalanguage J terms used to describe it. This could present
difficulty for a student of J who might prefer a metalanguage
description of J to be translated into their own language. I would
suggest
All languages have elements in common such as the component symbols,
words or terms that have defined meaning and the rules of syntax or
grammar that tell you how to combine the words into sentences to
communicate.
J is a programming language which can be described using J terms such
as alphabet, word, sentence, verb, noun, adverb, and conjunction.
Knowing the English equivalent of J terms can give you a good idea of
the general meaning of the J term. In addition, J terms encourage
and facilitate taking a natural language statement of a problem and
more directly writing the corresponding J sentences. The use of the J
terms as metalanguage is encouraged, but certainly isn't mandatory,
and using an equivalent term such as function instead of verb is
quite OK. You could, as for other programming languages, say line of
code, but the J term is sentence instead. Similarly you could refer
to the + function, but the J term is the + verb.
There are several reasons for this approach. One problem it deals
with is the plethora of related, but subtly different, uses of
traditional terms in math and numerous programming languages. For
example: function, subfunction, operator, program, routine, and
subroutine are all used in slightly different ways in different
programming languages. Rather than inherit this confusion, J adopts
its own terms, and defines them precisely within its context. J
adopts English terms and English grammar that better fit the grammar
of J than do some other terms and syntax commonly used in mathematics
and in programming languages. Thus, a function such as addition is
also called a verb (because it performs an action), and an entity
that modifies a verb (not available in most programming languages) is
accordingly called an adverb.
Donna
[EMAIL PROTECTED]
On 29-Jun-06, at 4:43 AM, Randy MacDonald wrote:
Donna;
Your posts, while articulate, seem to be veering off into meta-land.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm