Newsgroups: comp.lang.apl
Path: watmath!watserv1!utgpu!cs.utexas.edu!sdd.hp.com!apollo!keil
From: keil@apollo.hp.com (Mark Keil)
Subject: Re: Programming in J
Lines: 46
Message-ID: <1991Nov6.200732.6424@apollo.hp.com>
Summary: why? (is the language what it is)
Keywords: key words
Sender: netnews@apollo.hp.com (USENET posting account)
Nntp-Posting-Host: thor.ch.apollo.hp.com
Organization: upper triangular
References: <1991Nov5.234044.3676@cbnewsc.cb.att.com> <ROCKWELL.91Nov6005949@socrates.umd.edu> <1991Nov06.124604.25191feustel@netcom.COM>
Distribution: na
Date: Wed, 6 Nov 1991 20:07:32 GMT

In article <1991Nov06.124604.25191feustel@netcom.COM> feustel@netcom.COM (David Feustel) writes:
> What I still haven't comprehended is what J's control structures are.

It's NOT as easy as for/while/until cause it's way different.
 (this much I can figure out)

When structured programming came into vogue, it took a while to change ones
view of how to structure a routine. With no goto's one had to thing of a new
organization of ones routines.

Well, with J, it appears that yet another (re)organization is required.
It would seem that each loop or "statement" of a then/else clause needs to be
defined prior to it point of use as a single token.
I think that this is a side [main?] effect of J being a functional language...

Section 1-M of "Programming in J" deals (sort of) with control structures.
The section is called "EXPLICIT DEFINATION OF VERBS", and the first half
of the section talks about how to explictly define functions. (Of course
they don't use the word functions, you have to figure this out) The second
half of the section mentions looping & direct control & recursive definition
as "three schemes commonly used in explicit definition". Then you get to look
at the examples provided to figure it all out. The difficulty I have is that
it is never clearly stated: "To do what would be looping condtructs in other
languages, use the following construct"

The biggest problem that I have with J, is in the documentation. There just
doesn't seem be a bridge to help users of other languages adapt to this new style.
Much language documantion has too much verbiage, and not enough examples and exercises.
J documentation seems to be all examples and no verbiage. 

I liken trying to figure out J, to shooting X-rays through crystals to figure
out what the internal structure is like.

I would like to see sentences like: "Explicit definition of Verbs is a more general
and powerful implementation of the concept of function definition. Be careful that
you don't equate function definition with Explicit definition of Verbs because this
could limit your ability to conceptualize Explicit definition."
[Raul & Roger, is the above summary correct?]

What do other people feel about the documentation style and content?

Mark
-- 
 Mark Keil               HP/Apollo Computer,  Chelmsford MA 01824
 +1 508-256-6600 x4542   keil@apollo.hp.com  /  {decvax,mit-erl,yale}!apollo!keil

