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

Reply via email to