> Rather, it's the *idioms* and idiomatic constructions that 
> "native" speakers understand but "newcomers" don't.  

"Idiom" is often misused in the context of programming
languages.  An idiom in a natural language is a phrase
or sentence that can not be understood according to
the normal rules of the language.  A few examples
from English:

"Knock 'em dead, Colin!"  I had occasion to use this
recently, and even though I have been speaking English
for many years, I had to first make sure of its meaning
so that I don't offend.  Along the same vein, "Break a leg!"

"When I am good, I am really good, but when I am bad
I am better".

"It's a slam-dunk."  "It's a no-brainer."  "It's brain dead."

In contrast, the phrase ((i.#y)=y i. y)#y is often referred
to as an "idiom" to find the nub, but everything used
therein follows the rules of J .  It is mainly for this reason
that the book is called "J Phrases" and not "J Idioms".



----- Original Message -----
From: PackRat <[EMAIL PROTECTED]>
Date: Saturday, April 5, 2008 9:37
Subject: Re: [Jgeneral] How readable is J?
To: General forum <[email protected]>

> Devon McCormick wrote:  
> > In any case, the issue of how cryptic a language appears is usually
> > raised by people unfamiliar with it, not with native speakers. 
> 
> To add to this, as anyone who has learned any spoken/written 
> languages 
> beyond their native language can testify, it's not always the 
> language 
> itself that often presents the challenges to 
> understanding.  Rather, 
> it's the *idioms* and idiomatic constructions that "native" 
> speakers 
> understand but "newcomers" don't.  (Working in a library 
> that has a 
> strong ESL literacy program, we have to have dictionaries of 
> English 
> idioms so that ESL students can learn what these "everyday"--at 
> least, 
> to us--things mean.)  Idioms enrich language and may even 
> bring 
> efficiency to transmitting ideas.  However, when the 
> purpose of a 
> statement is understandability (especially for "non-natives", 
> including 
> beginners), "idiom-less" speaking and writing should be the goal.
> 
> It all depends on the purpose: code written and shared for 
> learning* 
> purposes needs to be as clear and understandable as possible, 
> following 
> the basic constructions of the language (sort of like the 
> difference 
> between newspaper writing and great literature); but code being 
> shared 
> to demonstrate alternate approaches, efficiencies, elegance, 
> etc., can 
> be as abstruse as necessary to accomplish the goal.  (As a 
> beginner, I 
> would hope that, in the latter case, a lengthier, nonterse 
> "English" 
> explanation would also be included to highlight the particular 
> efficiency, elegance, or whatever.)
> 
> * By "learning", I'm here referring to the initial learning of 
> the 
> basic and intermediate aspects of a language.  Of course, 
> one can 
> "learn" much more advanced language aspects, too, via the 
> presentation 
> of new approaches and examples at a high level.  I'm not 
> against that 
> by any means--it's great and gives me something to aspire 
> to!  Just 
> give some clues to those of us at lesser levels of 
> understanding.  
> Thanks!
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to