Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

J vs APL (Personal Experiences)

1,017 views
Skip to first unread message

Joachim Hoffmann

unread,
Oct 19, 1996, 3:00:00 AM10/19/96
to

My personal experiences while learing J:

Since I was 16, I have been an APL fanatic.
I wrote a lot of APL programs in APL*PLUS II(I) and Dyalog APL/W.

After APL94 I started to learn J, mainly because it was from _Iverson_
Software Inc.
I had a lot of problems in the beginning because the J Introduction &
Dictionary is not easy at all.(But in the end it was a good training in
learning new things, and now there is already a <J Primer> by Eric B.
Iverson available.)

The greatest mistake I made was that I thought that J is very similar to the
APL2 standard, and therefore I didnt study the Introduction carefully
enough. In addition, I assumed that APL is the best language forever.

I was often amazed about the features that Ken Iverson describes in his
book. But when I started to solve my own problems with J, NOW I understood
the advantages of J. I have still to do a lot of work in APL, but since I
know J a little bit, APL appears very old to me (it's my subjective
impression). I constantly have personal difficulties while writing APL code,
because I see often how much easier I could do the same in J.

For example, if I want to append two enclosed (boxed) arrays:
A.)
In APL:
({enclose}ARR0) , {enclose}ARR1 NB. parentheses, 2 times enclose

In J there is a useful verb for it, namely Link (;):
Link=: ;

ARR0 Link ARR1
ARR0 ; ARR1

B.)
Why is an enclosed scalar not enclosed in APL2? This caused a lot of
problems in my APL code, if the program was dependent from Depth.
If you box (<) a thing in J, then it is in a box.

< 9999
+----+
|9999|
+----+

---------------------------------------------------------------------
I also didnt like the ASCII notation.
Now I know why: only because I was not used to it.
Since I learned the mnemonic ASCII notation in J it is not a problem any
more, I got used to it in the same way, as I got used to the APL symbols.

And there _is_ a script (primitive.js), which assigns standard names to all
J functions. Using these names I write all my educational scripts _without_
any_cryptic_ J symbol!


I am very happy that
+ I can send J code directly over the Internet.
+ I dont have to explain the APL keyboard, if I show J to newcomers.
+ I can send a J paper to a journal without special information about fonts.
----------------------------------------------------------------------------

I do not condemn APL! APL has it's place as Gosi wrote.
I will use it (especially Dyalog APL/W) very intensively in the future.
But I made a big step forward in the development of my programming (and
thinking)
skills, since I learned J. IMHO J is better (subjective statement) because I
can
solve problems more easily/effectively with it.

I learned a lot about how habit can inhibit my thinking and as a
J'uggler I am not fanatic about any language anymore. (learning Delphi,
VRML...).

But I have to say that I am often shocked by the ignorance of APLers against
J,
even C or LISP or ... programmers are more interested in it.


JoHo :)
----------------------
Joachim Hoffmann
Jo...@magnet.at
--- OffRoad 1.9p registered to Joachim Hoffmann


Randy MacDonald

unread,
Oct 20, 1996, 3:00:00 AM10/20/96
to

Joachim Hoffmann wrote:

> Since I was 16, I have been an APL fanatic.

Moi aussi, although I spent from 18-23 being able to only
say "if I could do this in APL, I'd be done..."

> For example, if I want to append two enclosed (boxed) arrays:

It might be better not to use the two terms interchangeably, i.e.
reserved the enclose for what APL does, and use box for what J does.
If I remember correctly (Lee?) it was proposed that the APL standard
contain both box and enclose with their respective behaviours, but
that was rejected by the APL2 camp.

This would answer your question :
> A.)

> Why is an enclosed scalar not enclosed in APL2?

by, enclose isn't box.

> I also didnt like the ASCII notation.
> Now I know why: only because I was not used to it.
> Since I learned the mnemonic ASCII notation in J it is not a problem any
> more, I got used to it in the same way, as I got used to the APL symbols.
>
> And there _is_ a script (primitive.js), which assigns standard names to all
> J functions. Using these names I write all my educational scripts _without_
> any_cryptic_ J symbol!
>
> I am very happy that
> + I can send J code directly over the Internet.
> + I dont have to explain the APL keyboard, if I show J to newcomers.
> + I can send a J paper to a journal without special information about fonts.

But are these really that important? As of now, Netscape Navigator, and
that
Microsoft browser can both display APL symbols, with a bit of work.


> But I have to say that I am often shocked by the ignorance of APLers against J,
> even C or LISP or ... programmers are more interested in it.

Mild amusement is perhaps more appropriate. Their attitude is still
nothing
compared to the misinformation about apl's that circulates in the world
(i.e.
Jerry Pournelle and his "write-only" language.) At least APL'ers know
that
J is probably not too different from APL.

--
|\/| Randy A MacDonald |"We ARE the weirdos, mister!"
|\\| ra...@godin.on.ca | Fairuza Balk "The Craft"
BSc(Math) UNBF '83 | APL: If you can say it, it's done.
Natural Born APL'er | *** GLi Info: in...@godin.on.ca ***
I use Real J | Also http://www.godin.com/godin/
------------------------------------------------<-NTP>----{ gnat }-

Eric Landau

unread,
Oct 22, 1996, 3:00:00 AM10/22/96
to

> Why is an enclosed scalar not enclosed in APL2? This caused a lot of
> problems in my APL code, if the program was dependent from Depth.
> If you box (<) a thing in J, then it is in a box.

You are asking a question that has divided APL implementers for over two
decades. There are two different theoretical models of nested arrays;
their primary distinction is over whether the enclose of a scalar is or
is not identical to the scalar being enclosed.

The "grounded" array theory (identical) was used to develop APL2,
APL*Plus, and Dyalog APL. The "floating" (not identical) theory was
used to develop Sharp APL and J.

Proponents of the two views debated sharply (no pun intended) and
heatedly at APL81 in San Francisco. Several articles reporting the
debate appeared in the issue of Quote Quad that came out after that
conference (12/2, December 1981). It's a complex issue, and one that
has not yet been resolved.


Eric Landau, APL Solutions, Inc.
"Sacred cows make the tastiest hamburger" - Abbie Hoffman

Ray Powell

unread,
Oct 25, 1996, 3:00:00 AM10/25/96
to

I like J (but don't really understand it) and would use it more for
programming if there were better printing facilities and graphics.

i.e.
I would like all my buttons as graphics (like the Tick in Borland products)
and printing tables using proportional fonts (i.e. bank statement formats).

In the meanwhile I'll zip along with APL.

...Ray Powell


Randy MacDonald

unread,
Oct 25, 1996, 3:00:00 AM10/25/96
to

Ray Powell wrote:
>
> I like J (but don't really understand it) and would use it more for
> programming if there were better printing facilities and graphics.

Besides the comment below, where else do you think J fails
graphics-wise?

> i.e.
> I would like all my buttons as graphics (like the Tick in Borland products)

For those of us who don't use non-APL development environements, can you
explain/illustrate what "like a Tick" means? If you mean having
arbitrary
graphics on the button, I believe that J already has this.

> and printing tables using proportional fonts (i.e. bank statement formats).

> In the meanwhile I'll zip along with APL.

Ray Powell

unread,
Nov 5, 1996, 3:00:00 AM11/5/96
to

Sorry for the delay in replying but our local phone company has just upgraded
its system to version xx.00. The maintenance release is due any day now!!

Randy MacDonald <ra...@godin.on.ca> wrote:

>> I would like all my buttons as graphics (like the Tick in Borland products)
>
>For those of us who don't use non-APL development environements, can you
>explain/illustrate what "like a Tick" means? If you mean having
>arbitrary graphics on the button, I believe that J already has this.
>

Rather than having only text on buttons, Borland introduced their own version
that allowed icons [and text] on buttons. J allows ownerdraw objects on
buttons but it has a border surrounding them that reduces their size to
nothing on normal to small size buttons.

0 new messages