Subject: [J-learn] Taking the Plunge! (Repeat?)

From: Art Anger <[email-masked]>
Date: Wed, 27 Jun 2007 09:25:54 EDT

Friends--
I thought that I had sent this message out on Sunday evening, but it doesn't
show in the record.

We now have 8 interested subscribers, although some expect to have limited
time to devote to this study;  I have yet to hear from a few invitees.
--Art
-------------
I. Taking the Plunge!                                           ALA 2007/06/24

If you haven't yet visited http://www.jsoftware.com you should do so, to
Download the Stable version of J (6.01) for your particular operating system.
You may install (unpack) the J system to any folder you choose;  I prefer to
put it in Program Files.  Starting J gives an execution window (1.ijx) into
which you may enter any J sentence you see in our messages to test its result
for yourself, and/or to modify for different results.

The J language embodies a broad palette of arithmetic, higher mathematical,
logical, and data-structuring tools in a compact form, encompassing much which
would be in separate subroutine libraries in other systems.  It may be thought
of as "a big ball of wax", "a prickly cactus, porcupine, or hedgehog", "an
endless labyrinth or cavern", or "faaaar out!".  No one person has to know all
of it;  learn the parts you need, or which interest you at any particular
time, and come back later for additional parts.

Because your needs and interests probably differ from those of some others in
our group, I can't recommend a single route to learning what you may wish to
know.  A "labyrinth" of documentation is listed under the Help menu in the
J-execution window, and also in abbreviated form at the top and bottom of
every(!) browser page that it links to.  One of your primary tasks in the
first days or weeks of study will be to view a few early pages in each of the
documents listed to see which one seems most congenial to you--and to learn
how to find individual sections in each by topic name or by reference from the
Index (Ndx) when your study of one topic seems to require some understanding
of another one.

If you're just learning about programming:  you'll probably find the Primer
(Pri) to progress at a suitable speed;  Learning J (LJ) is fairly similar,
with a slightly different style of presentation.  For more substantial
exercises, any of the first five Labs (reached from the Studio menu above the
execution window) may be appropriate;  you will have to discover which ones
seem to suit you best.

If you already know some algebraic programming language:  you may prefer the
J for C Programmers (JfC) presentation, which goes faster than the previous
two, and a lot farther into advanced language features and system interfaces.
You could also be exploring which Labs may later lead you into an area you
would like to study.

If you have been exposed to the APL language:  you should also be able to
profit from early perusal of http://www.jsoftware.com/jwiki/Doc/J4APL .

Whatever your experience:  you should find a screen-window arrangement that
allows you to switch conveniently between J and two browser windows (or tabs),
so that you can examine Vocabulary definitions and execute experimentally in
alternation with progressing through a text.  You may even want two dictionary
windows accessible since, as with an English dictionary, you may need to
consult some auxiliary definition when trying to make sense of one of interest.

In your spare "spare" time:  look for the few games in the Demo section.  If
one of them intrigues you, one goal in learning J could be to try to
understand enough about the programs which run the game to be able to modify
parts of its appearance or rules.  (First, save a copy of the original script
under a similar, different name.)

A good set of goals for your first stage of acquaintance might be:
--Starting up J.
--Adding 2 to 2 ;  Multiplying 2 by 2 ;  even Doubling, Squaring, or
 Incrementing 2 .
--Adding 2 to 2 3 4 .
--Adding 1 3 5 to 7 5 3 .
--Extra credit:  Summing 1 3 5 .  (Uses Insert.)

Try it out!  Do ask questions--there are lots of points of possible confusion.