And even in J we sometimes need to use serial thinking.

There are several issues here - computers have limits and so do we. So
depending on the problem you are working on you might have to deal with
serial representations of solutions.

And that can be OK.

Meanwhile, I think we could to a lot better about supporting debugging of
tacit code. One way to think about this involves injecting display
mechanisms into the code itself, so that when it runs you can see what the
data looks like or what the shape of the data looks like. But also when you
get a lot of this going, it can be a problem to match the observable data
back to the place where it happened.

On the third hand, I often also wish for a style of array coding which is
perhaps best matched by the phrase "functional reactive programming". Here,
the data exists across time (some part of the array will be in the future).
But implementing something like this would require something like a total
rewrite of the interpreter, and a lot of care to issues that currently do
not matter (like: if you took the shape of an array whose end exists a year
from now you might not want to wait that long and would need to be able to
tell that part of the code to stop working unless you wanted to lose access
to the data that already exists in the session). This would require a lot
of reasoning about efficiency and design of the system.

And on the fourth hand (this is one context where friends might be really
useful), K has a lot of nice structure that I really wish we had in J. We
might never get the K tree, but I would like K's dependencies and triggers
and the rapid and simple UI implementation that they make possible. And
maybe that's more important than FRP (or maybe it's possible to incorporate
ideas from the one into the other?)

Anyways, it's worth keeping in mind that we have a lot of room for
improvement. We have some great tools and some incredible capabilities, but
we should not become too arrogant about them, because we have a long road
ahead of us. And we are not going to get there if we are afraid to
experiment nor if we are afraid to embrace the efforts of other people and
other groups. (Though of course we will at times have to shed some of the
accumulated clutter.)

Thanks,

-- 
Raul



On Sun, Feb 16, 2014 at 9:42 AM, Don Guinn <dongu...@gmail.com> wrote:

> Things are difficult and useless until they are obvious. J has two concepts
> that are obvious and easy to understand. Array thinking and associated
> rank. Well, they are obvious once one understands them. Until then they are
> extremely difficult and serial thinking is so much easier because that is
> what we have been taught from the first grade on. Then throw in a bunch of
> primitives built around mathematical concepts, many of which have been
> around for generations, but only studied by few people. For these people J
> is great because it does much of the grunt work allowing them to get on
> with the problem at hand. Just learn the notation.
>
> But the rest of us have to struggle not only with the J notation, but the
> underlying concepts. Concepts that took a lot of time to fully understand.
> Maybe years. Then throw in the serial approach in programming computers.
> Necessary because today's computers are serial. Tell an experienced
> programmer to ignore what he knows and spent years learning because APL, J
> and other array languages do things differently and it is a turn-off.
>
> Math for most people is add, subtract, multiply and divide. Talk about
> anything beyond that and most people stop listening. Spread sheets are OK.
> Just don't call it an array. Matrix is cool and geeky.
>
> J is more than a notation. It is a "Tool for Thought". Most people want a
> tool that is "easy" so they can get on with their problem without thinking.
> Just "turn the crank".
>
> But then, I am rambling.
>
> Perhaps showing J to do spread sheet type calculations is a way to show J
> in a way that would appeal in five minutes.
>
>
> On Sun, Feb 16, 2014 at 5:56 AM, Bo Jacoby <bojac...@yahoo.dk> wrote:
>
> > Learning a little J is fast, and is worth while. I like this example
> > exxplaining addition.
> >    7#1
> > 1 1 1 1 1 1 1
> >    14#1
> > 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> >    (7#1),(14#1)
> > 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> >    #(7#1),(14#1)
> > 21
> >    7+14
> > 21
> >
> >
> > Learning more J is still worth while.
> >
> >
> >
> >
> > Den 13:37 søndag den 16. februar 2014 skrev R.E. Boss <
> r.e.b...@planet.nl
> > >:
> >
> > From
> http://www.grammarphobia.com/blog/2009/07/steep-learning-curves.html'Thus,
> a “steep learning curve” in common parlance refers to the difficulty
> > of learning something.'
> > >
> > >
> > >R.E. Boss
> > >
> > >(Add your info to http://www.jsoftware.com/jwiki/Community/Demographics)
> > >
> > >> -----Original Message-----
> > >> From: programming-boun...@forums.jsoftware.com [mailto:programming-
> > >> boun...@forums.jsoftware.com] On Behalf Of Robert Knight
> > >> Sent: zondag 16 februari 2014 12:59
> > >> To: programm...@jsoftware.com
> > >> Subject: Re: [Jprogramming] J in 5 minutes
> > >>
> > >> If J's learning curve were indeed "steep," then learning it in "5
> > minutes"
> > >> would be  feasible.  Unfortunately, it is quite shallow.
> > >>
> > >> *​*​
> > >> -Robert Knight
> > >>
> > >> On Sun, Feb 16, 2014 at 6:21 AM, R.E. Boss <r.e.b...@planet.nl>
> wrote:
> > >>
> > >> Let me be the odd one out and disagree with those who want J in 5
> > minutes
> > >> or
> > >> > presenting different types of nouns in different colors or formats.
> > >> >
> > >> > IMHO the steep learning curve of J is very useful (and, who knows,
> > >> > intended), it selects the right kind of people. That's how evolution
> > works.
> > >> > To paraphrase Mark Twain: "If we try to convince stupid people, they
> > will
> > >> > drag us down to their level and beat us by experience".
> > >> > So let's not try to make learning J easier, we will end up
> > simplifying the
> > >> > language to a level we don't want.
> > >> >
> > >> > And for people who want to teach J to kids, read
> > >> >
> > >> > http://www.scientificamerican.com/article/why-gaming-could-be-the-
> > >> future-of-
> > >> > education/<http://www.scientificamerican.com/article/why-gaming-
> > >> could-be-the-future-of-education/>
> > >> >
> > >> >
> > >> > R.E. Boss
> > >> >
> > >> > (Add your info to
> > >> http://www.jsoftware.com/jwiki/Community/Demographics )
> > >> >
> > >> ----------------------------------------------------------------------
> > >> For information about J forums see
> http://www.jsoftware.com/forums.htm
> > >
> > >
> > >----------------------------------------------------------------------
> > >For information about J forums see http://www.jsoftware.com/forums.htm
> > >
> > >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to