On Mon, Nov 1, 2010 at 4:33 PM, Ian Clark <[email protected]> wrote:
> Tacit programming _isn't_ "really quite easy". In principle, maybe...
> But in practice it's as much a strain as coding in 68000 ASM. (Yes,
> done that -- and sold the result).
>
> And that, I think, is the way to look at it. Those who can do it can
> justly be proud of their skill. But nobody is ashamed of not being
> able to compose 68000 machine code in their heads without computer
> assistance, so why should they be when it's tacit J?


Mm.... but tacit programming can indeed be "really quite easy",
unless you try and be comprehensive about it.

  +/ .*

That is tacit programming.  The only thing different from APL is
that in APL, you would not have needed the slash.  In APL, that
slash was implicit, most of the time, whenever you used the dot
operator.  (Jot was the exception.)

Likewise:
   +/

Again, that is tacit programming.

Of course, J introduced forks, which are new.  And J has a bunch
of what an APL programmer would call operators, which were not
in APL.  And all of those operators need to be learned, if you want
a comprehensive understanding.

And forks?  Well... they are sort of an implicit operator, in certain
circumstances (when the last thing on the right is a verb).   But
mostly they are a new pattern to be learned -- once you know the
pattern (which takes a few examples to really understand, and a few
more examples to see how they work when mixed in with other "operators"),
it should all fall into place.

But J also has hooks, and when hooks get mixed in with forks,
things can  be confusing.  There, it's not just new vocabulary you
need to deal with -- if you mix a hook in with a fork, you have
something rather strange going on.  (The fork will never be used
dyadically, for example.)  As a result, you wind up having to count
how many verbs are in a train.  It's not just one pattern but two
completely different patterns.  And distinguishing the odd cases
from the even cases can be tedious for long trains.

But if you do not need to be comprehensive, you can ignore some or
maybe most of these issues...

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

Reply via email to