Alexander Shendi asked:
>
> My question is: Can I use this implementation for learning J?

I cannot agree with Raul this time.

For learning any language, you need to have proper reference
documentation.  I guess it would be very difficult these to get
a (legal) copy of the J Version 7 "Dictionary of J" these days.

> Basically, what is the difference between J7 and "modern" J903?

Obvious major differences:

        - no control structures (but the $. Suite instruction vector
          instead)
        - a few less primitives (e.g. {::, L:, p:, q:)

These differences are the easy ones because they are immediatetly
noticed.  You'll get a "spelling error", adjust your vocabulary, and
live moves on.

The tricky changes are those where J was defined to operate differently,
but not always in obvious ways.  For example, in both Jv7 and today's J:

   *: 0 1 2 3
0 1 4 9

   <@*:  0 1 2 3

Today's result:
+-+-+-+-+
|0|1|4|9|
+-+-+-+-+

But J Version 7:
+-------+
|0 1 4 9|
+-------+

Any newbie would be bound to think:  "OK, *: Square works the same,
but something about @ Atop or < Box changed."  But that's not the
case.  The change actually *is* with *: Square.

It's simply not viable to take today's documentation, ignore "anything
not there yet" in the old version, and learn the language.  It'll
be a very frustrating exercise because things WON'T work as exepcted.

To get back to your question:

> Basically, what is the difference between J7 and "modern" J903?

The differences are all summarized in the "status.txt" file and,
for more recent releases, in the "release notes".  Enter here:

https://code.jsoftware.com/wiki/System/ReleaseNotes

and work you way down towards the past (or at least J Version 7).
The changed behaviour described above is listed in there.  But I have
my doubts that a newbie would be able to pin-point it.

(Hidden exercise, if you have half an hour to spare.)

                                                Martin Neizel
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to