> 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