On Apr 25, 2009, at 5:35 AM, Don Watson wrote:

>    Your second question, Bill, is the $64,000 question. I am only  
> thinking
> presently of the issue of persuading the J community that there is  
> something
> worth doing.

Don, Ric, Skip, Fraser, Raul, et. al.,

First, let me say that I have been enjoying this discussion  
immensely.  Not only for the topic, which is of interest (more about  
that below), but also by the manner in which the disagreements are  
recognized, stated, and rebutted.  In these days of increasingly  
strident,  disharmonious, barely-formed thoughts and better-left- 
unsaid irrational self-expressions, the manner of discourse on this  
list, and this topic in particular, has been as refreshing as a cool  
glass of water on a hot day.  Thank you all.

Don's original proposal for 'S' was specifically for the purpose of  
enabling younger students to more easily adopt and use J (based on the  
unproven assumption that tacit J was an impediment).

While some of you have been focusing on the issue of Don's specific  
proposal of adapting J's tacit expressions into something else, some  
of you have also recognized what I also think is the real issue:  
removing the impediments to J's increasing adoption and usage.

Of course, it is argumentative whether or not J is perfect as it is.   
Irrespective of any belief that J is perfect as it is, some of you are  
concerned with the current rate of adoption and usage of J as a  
language.

It might be interesting to read an interview of Arthur Whitney, in an  
issue of ACM's Queue, Feb/Mar 2009, pg: 17, where he is discussing why  
he wrote Q while still supporting K.
        
> AW: K was all symbolic. It was 20 symbols with a prefix
> and an infix meaning. With Q, the idea was to have all
> the monadic cases be words. So now infix are the symbols
> and prefix are the words.
>
> BC: This gives it what you call the wordiness—I think what
> others might call readability. For those who are not in
> that world, will a Q program look more readable than a K
> program?
>
> AW: Absolutely, because a lot of these symbols are familiar
> to people from other languages—plus, minus, times,
> greater than, less than. If they’re looking at a K program
> that’s using all 20 of them, they will know a half or a
> third of them, whereas if they’re looking at a Q program
> they will know about two-thirds of them.
>
> BC: How important is the readability to the uninitiated?
>
> AW: From a sales point of view, I think it has helped a lot.
> For someone who programs a few hours a week, I don’t
> think it would make any difference once they learned K
> or Q.

The point of the above quotation is that Arthur recognized an  
impediment to the adoption of K (at least in the vertical field of  
finance), and developed Q using K definitions for all the monadic  
verbs.  Thus, making all monads prefix operators as words, and leaving  
all dyadic verbs as infix operators.

So what problem was Arthur really addressing? Rate of adoption caused  
by what?
Unfamiliarity with the symbols?  Overlapping meanings to the same  
symbol?  Or, was it the difficulty of parsing many juxtaposed symbols?

If there were more symbols in ASCII, there would probably be less  
overlapping usages of meaning to symbols, where the same symbol has  
two meanings depending upon the context: a monadic function, and a  
dyadic function, and which usually (but not always) have related  
meanings.

But, even if we had no overlapping meanings on the same symbol, there  
would still be the problem of parsing J "words" among a string of  
juxtaposed symbols.

A test case: it will take J experts a few seconds to parse this  
"sentence":

     !@;#$%,^+&*-([.])-

to realize that it's not a proper J sentence at all, but just random  
graphical characters from the keyboard.   A J learner would have to  
work very hard to figure out that it's just gibberish.

Part of Arthur's problem was making it easier for his sales team to  
convince new customers that the tool they were trying to sell to them  
made things easier.  It's hard to convince someone that their job will  
be easier with a new tool, if you find it hard to even read the  
language of that tool.

So, the symbolic nature of J's language impedes rapid understanding of  
the meaning, and, even more, it impedes rapid parsing of the sentence  
into its parts.
        
I think the major part of the impediment to learning and writing J is  
the juxtaposition of graphical symbols, where the "human parser"  
becomes challenged because we have hundreds of years of parsing  
certain characters, such as '&', '.' and ':' one way, and J challenges  
those human language parsing rules.

Some of you have said that once the J language is "acquired" that  
these impediments fall away, but what I am describing is an impediment  
to making the acquisition in the first place.

I'm not very expert at J, so I can only make guesses about the best  
way (if any) there is to address these impediments to adoption and  
usage.  But, some of you are very expert at the language, as I've  
deduced from discussions, and from reading the sources to your  
contributions to the J library.

If I had to toss out an idea (which has probably been done before),  
here's one for the IDE: a "verbose transcription" mode?

Perhaps having a display mode in the J IDE which presents symbolic  
verbs using spelled-out names (with spacing of course) might help?  If  
this "verbose mode" existed in the IDE, then a J learner could open  
any J script, and upon rendering in "verbose transcript" mode and  
easily decipher the meanings.  Of course, with the correct library of  
operator name definitions, the J learner could also write complex J  
sentences and scripts using either words or symbols.  When saving to a  
file, the "verbose transcription" mode would translate (where  
possible) the symbolic names into their normal J symbolic equivalents.

Anyway, thanks again for the fascinating discussion on the merits of  
revising J's tacit expressions, and for all the other thoughtful  
discussions that this list has provided.

-- 
Alan Stebbens
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to