>My logic -- it wouldn't be a SC if it was a one-off, uncommon way of doing
things.

Mine too – as a coder. The SCs gurgle away behind the walls like the
plumbing, keeping things running sweetly.

But I spend a lot of time worrying about the "image" of J to the
unconverted. It has to govern how you write instructional material.

I remember when Pascal was being promoted as the dernier-cri in
universities, and all the old Fortran hacks were compelled to attend Pascal
classes and learn about "structured programming". The tutor told me once
that as soon as the grunts knew there was a GOTO, they all switched off.

No wonder Dijkstra wrote: "GOTO considered harmful". It certainly was to
the uptake of Pascal!

I see much the same happening to J over modifiers / SCs vs explicit
definition / loops.


>…knowing that SCs exist make me feel more confident about the language --
that is has been 'battle tested'

Do you see the SCs as jewels in the crown of J – or battle scars?

On Mon, Mar 5, 2018 at 10:49 PM, Joe Bogner <joebog...@gmail.com> wrote:

> Here's my thoughts on the questions:
>
> On Mon, Mar 5, 2018 at 5:24 PM, Ian Clark <earthspo...@gmail.com> wrote:
>
> > Concerning the page:
> > http://code.jsoftware.com/wiki/Vocabulary/SpecialCombinations
> >
> > The dust kicked up when horns are locked is obscuring for me some
> important
> > pragmatic questions, to which I personally would like to know the
> answers.
> > Let me break them down as follows:
> >
> > 1. Why is it good for anyone but a speed-freak to know about J's hidden
> > speedups?
> >
> >
> Besides performance, special combinations let a person know what is a
> common "pattern" or idiom in J code. My logic -- it wouldn't be a SC if it
> was a one-off, uncommon way of doing things.
>
>
> > 2. Ditto for people starting out learning to code seriously in J?
> >
> >
> In addition to above, knowing that SCs exist make me feel more confident
> about the language -- that is has been 'battle tested'
>
>
>
> > 3. Ditto for people who are just curious about J?
> >
>
> I think my answer still applies
>
>
> >
> > 4. Why is it good to have an exhaustive reference to J's hidden speedups
> in
> > NuVoc, of all places (the beginner's way-into the J world)?
> >
>
>
> Same as above -- good to know the common patterns
>
> >
> > 5. How well hidden are J's "hidden" speedups?
> > Is a beginner so likely to fall foul of them that a good knowledge of
> them
> > is needed right from Day 1?
> > What does this say to the J-curious about the design of the language?
> >
> >
> I don't think a beginner needs to know them from day 1. It is important for
> J to have "batteries included" good performance... or performance that
> largely "just works". Not necessarily winning the benchmark competitions,
> but enough to give a good experience
>
>
>
> > 6. Why does J need speedups at all, hidden or otherwise?
> > If it does, why bother to hide them? Why not just have libraries of
> faster
> > alternatives to common idioms?
> > Package them as Foreigns if we want to persist in avoiding expressive
> > reserved names.
> >
>
> I think the same as above... If we use the idea of notation as a tool of
> thought... simple notation that is optimized for performance seems to be a
> good thing -- to me at least. I'd rather learn the notation instead of a
> bunch of obscure foreigns (323!:23) or the slew of names
>
> Good questions!
>
>
>
> >
> > Does J need hidden speedups because a central feature of J (subtle
> > bolting-together of array-savvy functions to make new ones) denies you
> the
> > scope to code efficiently, which is inherent in looping scalar languages?
> > This surely must be uppermost in the minds of C++ programmers (and
> others)
> > as they approach J.
> >
> > For those of us who've been writing J for decades, question 6 will seem
> > like a non-issue. Languages have "optimization" like houses have
> plumbing.
> > Period. But to people shopping for a new and better language, either to
> > learn themselves or to recruit / train their development teams in, I'd
> say
> > 6 is the most important issue of all where J is concerned.
> >
> > On Mon, Mar 5, 2018 at 6:48 PM, Raul Miller <rauldmil...@gmail.com>
> wrote:
> >
> > > Yes.
> > >
> > > Thanks,
> > >
> > > --
> > > Raul
> > >
> > >
> > >
> > >
> > > On Mon, Mar 5, 2018 at 1:40 PM, james faure <james.fa...@epitech.eu>
> > > wrote:
> > > > Is that a serious question ? After all the time I spent explaining
> the
> > > alternative ?
> > > >
> > > > ________________________________
> > > > From: Chat <chat-boun...@forums.jsoftware.com> on behalf of Raul
> > Miller
> > > <rauldmil...@gmail.com>
> > > > Sent: Monday, March 5, 2018 7:38:27 PM
> > > > To: Chat forum
> > > > Subject: Re: [Jchat] Where is J going ?
> > > >
> > > > Why do you think optimizations are bad?
> > > >
> > > > Thanks,
> > > >
> > > > --
> > > > Raul
> > > >
> > > >
> > > > On Mon, Mar 5, 2018 at 1:30 PM, james faure <james.fa...@epitech.eu>
> > > wrote:
> > > >> I mean Special combination: http://code.jsoftware.com/
> > wiki/Vocabulary/
> > > SpecialCombinations
> > > >>
> > > >> Vocabulary/SpecialCombinations - J Wiki<http://code.jsoftware.
> > > com/wiki/Vocabulary/SpecialCombinations>
> > > >> code.jsoftware.com
> > > >> J typically executes verbs one by one, right-to-left, each verb not
> > > knowing what is coming next a =: 1000 1000 ?@$ 0 NB. 1 million random
> > > values in a 1000 by 1000 ...
> > > >>
> > > >>
> > > >>
> > > >> ________________________________
> > > >> From: Chat <chat-boun...@forums.jsoftware.com> on behalf of Brian
> > > Schott <schott.br...@gmail.com>
> > > >> Sent: Monday, March 5, 2018 6:24:45 PM
> > > >> To: Chat forum
> > > >> Subject: Re: [Jchat] Where is J going ?
> > > >>
> > > >> I think it means stop_condition.
> > > >>
> > > >> On Mon, Mar 5, 2018 at 9:36 AM, Devon McCormick <devon...@gmail.com
> >
> > > wrote:
> > > >>
> > > >>> Again, I ask, in
> > > >>> " 4 The SC based system has has got to go... "
> > > >>> what is "SC based"?
> > > >>>
> > > >>>
> > > >>>
> > > >> ------------------------------------------------------------
> > ----------
> > > >> 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
> > >
> > ----------------------------------------------------------------------
> > 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