> 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

Code as poetry. I share the sentiment – in my more romantic moods.

But as a battle-scarred developer I view code (…which I haven't written
myself but have to maintain) as damaged legalistic weaponry: a potential
breeding ground for bugs. I yearn for more control over the language
processor: to see from the code itself where J might be tempted covertly
not to do what I tell it to.

Manually substituting (323!:23)  for +/ (say) is ugly and unpoetic. But it
is hygienic – it does state unequivocally what's due to happen at runtime.

But I was writing tongue-in-cheek when I suggested Foreigns. Maybe the J
way of doing it is to stick a new (!.)-option in there somewhere, to warn J
not to optimize.

Beauty is in the eye of the beholder.

I once taught a course in software engineering. Which is all about shifting
some of the pain of code development to edit/compile time, from when it
will unerringly pile up: the last night before product release (…and
notwithstanding, you still release a product which you *know* contains
bugs!) Software-Engineering a piece of code never seemed to make it any
prettier.

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