(Moved to Chat forum. This is in reply to
http://jsoftware.com/pipermail/general/2010-November/033946.html )

Hi, Ian.

On Mon, Nov 1, 2010 at 4:33 PM, Ian Clark <[email protected]> wrote:

>
> ...
> On first encountering APL my initial response was to feel inadequate.
> I should have felt humble, but instead I felt humiliated. Because at
> the time I was masquerading as a "computer scientist", ie an expert.
> This was back in 1973, when the industry was less fragmented. It was
> "IBM and the Seven Dwarfs" -- and I was IBM.
>
> So I looked for holes. For excuses to label APL as mad, not brilliant.
> Then I'd be exposed as sane, not stupid. It reassured me to swap sly
> remarks about the language, especially as others felt the same as I.
>
>
Thanks for bringing this out. The emotional and social sides of this are
often more important than we let on. APLers are rare, and rare also are
individuals who have not been involved with strong feelings when actively
engaged with these languages. The sense of humiliation you recall in your
own experience helps you care about how you might be heard when you are
eager to tell people about APL or J.

I'm excited by the beauty I see in these languages, but I'm also cautious
against presuming that sheer excitement from me will help others see what
I'm excited about. I hear you saying the same thing, especially in what you
wrote, below.


> On first encountering J, I experienced the selfsame feeling I had on
> first meeting APL. It largely revolved around "tacit programming".
> Attempts by those who'd Seen The Light to motivate me by saying "it's
> really quite easy" -- or -- "it's far better than APL doing it this
> way" simply provoked hostility. And not just in me, I observed.
>
> So there was a barrier to surmount, before I could contemplate J
> equably, let alone consider using it myself for a serious task.
>
>
Thanks for coming out and saying that such motivational efforts backfired.
Helping people learn is, I'm convinced, a delicate task. If the Iverson
approach is more difficult to learn, that's a disadvantage on the face of
things. Let's suppose, though, that computer programming in general is
difficult to learn. When our attention moves to "how can we help make
learning this easier," the relative difficulty of J can actually count as an
advantage. It can help us avoid taking problems of learning and education
for granted.

The first steps in this can be to eschew judgments such as "it's easy" or
"it's better." Those are very practical steps. I'm inclined to avoid saying
"it's hard," too. The consequences of those judgments may be more subtle,
but my sense of it is that they, too, impede learning.


> 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.


I've had some serious struggles in learning J, and hope I can remember that
with enough vividness to not belittle anybody else's sense of difficulty. At
the same time, I have no agenda to bring a sense of difficulty with me.
Lately I've been learning other languages and technical tools. The more I
learn of the world of programming in general, the more I have come to see J
as a remarkably small, simple, and consistent language.

J has helped me gain a better sense of the difference between "simple" and
"easy." When I can overcome my presumption that something should be easy to
understand or easy to remember because it's simple, I actually clear the way
for understanding and memorization.

So, yes: I'm with you in not claiming J is easy. What I want to do instead
is emphasize style and challenge. J is what Alan Kay calls a "style
language" (see _A Conversation with Alan Kay_
http://queue.acm.org/detail.cfm?id=1039523 ) When people ask me whether they
should learn J, my current answer is: Give it a look, paying special
attention to the style of solution that seems to be favored by the nature of
this language. Does that style intrigue you? Might you prefer to deal with
the sort of challenges that come with working in that style, over the very
different challenges that other languages involve? If so, I expect you'll
find J wonderfully exciting. If not, you'll still have gained: Your decision
process will likely leave you with more understanding of J than the vast
majority of programmers.

I'm glad you're building another introductory essay, Ian. Thanks for that.

--
Tracy

P.S. I find it hard to imagine that anybody could enjoy APL and *not*
appreciate J!
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to