Having a suggested "kernel" of J to learn for beginners is not a bad idea.
Linda's proposal to make the J vocabulary more "beginner friendly" is one
that has been proposed before, and even partially implemented.  However I
believe that we need to do more than just list a set of J primitives for a
beginner to learn.

A list of primitves with links to definitions may be enough for a motivated
computer science grad to get going in J, but that is probably not the best
way for the less-motivated and less-technical, who just want to get a
flavor of J.

The learning curve for any language can be quite steep, particularly if the
student is presented with a large number of concepts right up front. The J
language is particularly bad about doing this, since most all of the
laguage primitives can be displayed on a single page.

For learning, it is better to introduce a subject's concepts gradually and
serially. In addition, the serial steps should promote a "try this and see
what happens" interactive approach, encouraging the student to experiment
with each concept using a live interpreter.

This plan is best achieved by using a narrative approach, which
significantly flattens the learning curve.  The narrative should lead the
newbie through the basic concepts, having the studen read about, and try
out each concept, one step at a time.

However, developing such a narrative can be a large project. We already
have several books which attempt to teach J by presenting J concepts in
small steps. While these books do cover the subject well, I believe that
they are still oriented to a technical, computer-science-grad audience. So
even these books make the learning curve too steep for the non-technical,
less-motivated students and casual investigators. We need an easy-to-read
teaching tool that will ease the reader into the world of multi-dimentional
matrices and the operations that can be performed on them. Think of a book
that would fit in the popular series - "J for Dummies".

There is one book that I believe presents a matrix language in a way that
even the general public could grasp. The book is Gillman & Rose's book "APL
- An Interactive Approach". Years ago, this book taught me APL in a fun and
painless way, and that methodology is still valid today. This style of
teaching tool is the perfect introduction to a complex language such as J
for a less-technical audience..

In fact, Gillman &Rose's book would be the perfect introduction to J for
non-technical users. There is just one problem - the book is about APL, not
J. The good news is that J is similar enough to APL that it wouldn't take
much to  convert their book to "J- An Interactive Approach", thus creating
a basic easy and fun to read J tutorial.

In fact, I would propose that the J community would obtain a valuable
learning resource for the J language by simply "translating" Gillman &
Rose's book from APL to J. This would be a considerably smaller project
than trying to author a "J for Dummies" book from scratch, for a
non-technical audience.

Basically, one could scan in the G&R book, OCR it, and then substitute J
expressions for the APL expressions. Of course, there would need to be some
other updates, modernizing the selectric typewriter nomenclature to
computer keyboard or touchscreens, etc., but it wouldn't be all that big a
project.

Skip

On Mar 16, 2013 8:47 AM, "Linda Alvord" <[email protected]> wrote:

> We are close to selecting a "kernel" of the language. We need to pay close
> attention to how those concepts are defined in the Vocabulary. Don't remove
> all the wonderful complex examples!  Just add more carefully chosen
> examples. When the new user consults one of those terms, they should only
> encounter even simpler concepts in the definition. Each example that is
> looked up should encourage them to be more fluent "speaking" the
> language.
>
> Linda
>
>
> Original Message-----
> From: p.rogramming-bounces@ forums.jsoftware.com [mailto:programming-b
> [email protected]] On Behalf Of Linda Alvord
> Sent: Saturday, March 16, 2013 9:17 AM
> To: [email protected]
> Subject: Re: [Jprogramming] Learning J language - initial thoughts
>
> My guess is that most experienced J users rely first on the Vocabulary.  It
> is an easier starting point to find answers than the primer, phrases,
> index,
> dictionary and other references.
>
> I would like see a Vocabulary that assists the beginner in the same way
> that
> it assists our most skillful users.
>
> Do we really need more options to explore to find the panacea for learning
> to "speak" J?  Couldn't we just make modest improvement to our best source
> for understanding the language?
>
> Linda
>  ll
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Raul Miller
> Sent: Saturday, March 16, 2013 8:09 AM
> To: [email protected]
> Subject: Re: [Jprogramming] Learning J language - I nitial thoughts
>
> On Sat, Mar 16, 2013 at 3:36 AM, Linda Alvord <[email protected]>
> wrote:
> > How many terms will you have to look up before you understand this?
>
> I have been wishing for a kind of wiki markup where I could mark a region
> of
> text as requiring some list of topics on the part of the reader, and then
> also identifying a topic which the the text addresses.
>
> If something like this could be designed, we could present initially simple
> definitions to the reader and reveal further detail as the reader visits
> other topics.
>
> Complexities here include the implementation mechanism (some people would
> prefer an automated approach - using cookies, perhaps - where at other
> times
> they would prefer a manual approach - using menus, perhaps), and
> identifying
> topics (addition, for example, could include topics of numbers, identities,
> rank, and grammar with associativity and commutativity falling under
> "grammar", and numbers themselves have a variety of types including
> counting
> of physical objects, promises for the future, measurements of distance and
> collections of different kinds of numbers [apples, oranges and eggs]).
> Unfortunately, this is a really good example of "it's simple when you
> understand it but not until then", and the layering means that you can
> understand something simple while not noticing the relevance of another
> issue.
>
> Thanks,
>
> --
> Raul
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to