On 2/24/07, Tracy Harms <[EMAIL PROTECTED]> wrote:
As I studied this topic tonight it occurred to me that
tacit programming seems to be necessary to (but
perhaps not sufficient for) function-level
programming.  The topic of tacit definition seems to
open naturally to the question:  When is
function-level programming a better way to use J, and
what discipline needs to be maintained to accomplish
it?

First off, I personally don't buy into the idea that "if
an idea is useful it must be useful for everything."
I don't think OO programming is always a good idea,
I don't think functional programming is always a good
idea, I don't think function level programming is always
a good idea, I don't think that top down programming
is always a good idea, I don't think that efficient programming
is always a good idea, etc. etc.  I can elaborate on these
points, if needed.

However, I think, implicit in your question, is the idea
that for J to be sufficient for function-level programming,
it must always be a good idea to use function-level
programming in J.

I disagree with this approach, especially when it's
presented as an assumption rather than an explicitly
reasoned position.  (In some contexts it might be
a valid approach, but not in all contexts.)

Anyways, you can express arbitrary ideas tacitly in
J.  But as a general rule it's the less arbitrary ideas
that are best expressed tacitly.

Also: even explicitly defined verbs can be used tacitly,
in J.

Finally, from my point of view: one of the big advantages
of tacit programming is conciseness.  This can be a big
help when performing experiments at the command line.

As a simple example, I've got some expression and some
data.  I come up with an alternate expression and I want
to test if they are equal.  So, I do

  (expr -: expr2) data

A few moments later, I expand expr2 and start playing with
it.  Or I might have made a mistake and they are not
equivalent, in which case I might change -: to ;&$ or =
and start isolating my problem.  Etc. etc.

That said, I don't have any good references to point you
at, which elaborate on these points of view.

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

Reply via email to