Dan Bron <j...@bron.us> wrote:
> We often say the APL family of languages allow us to use language as a tool
> of thought.  How does this play out in practice?  Do we approach reading J
> programs differently from those written in other languages? If so, how?

I think this is a fantastic question.

I completely agree that it's very easy to write unreadable programs in
J. Some people have pushed back that it's easy to write unreadable
programs in any language; but I would actually counter that it's
easier in APL derivatives.

But I would contend that this is actually a consequence of APL
derivatives being developed as a tool of thought rather than a tool of
communication (or a tool of command).

Thinking is hard. Communicating is also challenging, but it's not the
same as thinking.

I would like to point to the general teaching that APL people give for
reading APL code -- what they say (I don't have a link) is that you
can best understand APL code by rewriting it, and then comparing what
you write with what was originally written. In other words, you learn
to THINK about what the author was thinking about, and then you try to
understand the WAY the author was thinking.

This reminds me of Chuck Moore's approach to program design, which he
called "Thoughtful Programming". He advocated using many prototypes to
cull out decent and unacceptable designs.

My brain is refusing to give me the name of the guy who's developing a
thinking system using an APL derivative.

> -Dan

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

Reply via email to