> 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
