You said you find J almost impossible to remember,
and by implication APL is easy to remember.
Yet you said that ⌈ and ⌉ denote floor and ceiling.
You also said that < is for comparison, not boxing,
but < was box in SHARP APL for many years
before J came along. I can also argue with your
other characterizations of the J symbology,
but I'll stop here.

The 7 bit-ASCII alphabet makes it easy to support
- entering J on standard keyboards
- printing J on standard printers
- editing J on standard text editors
- sending J code in e-mail

Until the day comes when the above can be done
with Unicode, not just for existing APL characters
but for APL characters yet to be invented, (e.g. see 
http://www.jsoftware.com/papers/opfns.htm )
I wish to avoid yet another enervating debate
about special characters.



----- Original Message -----
From: Mike Powell <[email protected]>
Date: Monday, June 1, 2009 14:02
Subject: Re: [Jprogramming] Italic Fonts?
To: Programming forum <[email protected]>

> [This message should be read in APL385 Unicode font]
> 
> Ian Clark's last sentence brings to mind some problems I have 
> with J.  
> He said:
> 
> > This of course may be a problem which will lessen when I gain 
> as much
> > facility in reading J as I have with APL. If I ever do.
> 
> I too have trouble with J, not just reading it, but also 
> remembering it.
> 
> I've used APLs of various flavours since 1976, mostly to earn 
> a  
> living. That would include APLUM, Sharp APL, STSC APL and Dyalog 
> APL.  
> I've gone back and forth between them quite a bit. Differences 
> in  
> language definitions have rarely ever been a hindrance to 
> writing  
> code. Of course, converting code from one to the other has 
> definitely  
> required a bit more attention. But, on the whole, it's been 
> a  
> rewarding experience. The core concepts were so well designed 
> that  
> language variances were mere trifles.
> 
> Part of the joy of using APL has been the way it has infused 
> my  
> thinking. Somewhere early on APL became my choice for talking 
> about  
> other things. So, when I dabbled with general relativity, the 
> tensor  
> notation was not difficult to understand; it was easily mapped 
> into  
> APL terms. That definitely made the subject more approachable.
> 
> I recall the pleasure I got in learning (from KEI in person, 
> I  
> believe) about the selection of the special characters. I liked 
> that  
> you did not have to rely on English keywords. Rather, there was 
> a  
> single character for the important functions. So, we had ⌈ and 
> ⌉  
> for the floor and ceiling, ⊖ and ⌽ for rotations, ⊤ and ⊥ 
> for  
> encode and decode, ∧ and ∨ for two of the logicals. Then there 
> were  
> sensible, familiar choices for ×, ÷, ≠, ≥, ≤ and ≡. Such 
> good  
> thinking. The results were often even in suggestive pairs.
> 
> It is interesting to note that the APL scheme almost entirely 
> left the  
> brackets and punctuation marks to a supporting role. The single 
> quote  
> was used around text, the [, ] and ; in indexing and the colon 
> in  
> labels. Of course, the comma and period were used for functions, 
> but  
> even then that I found to be excusable: mathematician's use the 
> comma  
> in a similar way to APL; The period was always in the midst 
> of  
> something else, either as a decimal point or as the operator in 
> the  
> inner product.
> 
> Mind you there were the Greek characters, ⍺, ∊, ⍳, ⍴ and 
> ⍵,  
> which caused some grief. It would have been nice to have 
> other  
> alternatives, but at least they were mnemonic (first, 
> mathematician's  
> member, ⍳ndex, ⍴eshape, last).
> 
> Overall, a wonderful scheme that is both evocative and memorable.
> 
> However, this sort of design does not seem to have found it's 
> way into  
> J. For me that has meant that J is difficult to read and 
> almost  
> impossible to remember. I have a hard enough time reading J code 
> that  
> I have written, even a week later. Reading others' code is 
> not  
> something to be undertaken lightly. And, I don't think that it 
> is  
> because the concepts are radically different. It's just very 
> difficult  
> to parse an expression. Here are some of my problems:
> 
> (1) The use of punctuation and brackets
> I'm used to not expecting punctuation or brackets to be "the 
> important  
> stuff". When I see a left brace {, I expect to find a matching 
> right  
> brace } nearby; the material of value is in between. I don't 
> expect "  
> to be involved as an adverb; it's for quotations. @ should be 
> reserved  
> for web addresses. Is it reasonable to expect me to resolve ` 
> and '?
> 
> (2) Confusing use of characters well-known in other contexts
> I expect $ to be a currency symbol. (¢, ¥ and £ are.) The 
> number  
> sign # is just excusable, but not %. (Percent really has very 
> little  
> to do with divide.) ∧ is logical and for me, not power. < is 
> tied to  
> making comparisons, not to boxing.
> 
> (3) Some tokens are one character, some are two (or even three)!
> This just makes it real hard to break up a line into its 
> constituent  
> parts. I die a little every time I see .. or ::.
> 
> (4) Spaces are significant
> 
> (5) Missed opportunities
> Wouldn't it be nice to use ← for global assignment; ⍇ for 
> local  
> assignment; ∞ for infinity; √ for square root. I even recall 
> that  
> some of these were used in the very early versions of APL.
> 
> (6) ASCII names
> Current rules only allow names to use English letters. Why can't 
> we  
> write:
> 
>    André ← √10
> or
>    extensión ⍇ 5 12
> or even
>    ⍴ ← $
> 
> (7) a., b. etc
> I think I'd prefer ⎕av, ⎕ace, ⎕anagram,
> 
> Imagine what would have happened back in the early days if 
> the  
> designers of APL had had a Unicode font? I think we'd now be 
> working  
> with a well thought out, nicely structured set of primitives, 
> each  
> with its own graphic character. Here we are with the perfect 
> answer to  
> the typeball and for reasons (that appear not to be written 
> down)  
> which I fail to understand, we are forcing J to fit in the 7-bit 
> ASCII  
> box.
> 
> Is it too late to debate this? Or has the concrete truly set?
> 
> Respectfully,
> Mike Powell
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to