First comes relevance, then correctness, performance, and elegance in some 
order. Not every problem is put right. For example. Question: from a long list 
of numbers, how to compute the 15th, 50th and 85th percentile? Answer: Don't do 
that! Compute the mean value and the standard deviation instead.
Venlig hilsen, Bo


--- Den tors 23/9/10 skrev Roger Hui <rhui...@shaw.ca>:

Fra: Roger Hui <rhui...@shaw.ca>
Emne: Re: [Jprogramming] Classification problem
Til: "Programming forum" <programming@jsoftware.com>
Dato: torsdag 23. september 2010 16.48

At first I was going to respond to R.E. Boss with a 
cute and annoying reply, something like "first comes
elegance, then elegance, then elegance".  But I think
now I agree with him, "first comes correctness, then
performance, then elegance",  rather than "first comes 
elegance and correctness".  A counterexample to the 
latter is a model for dyadic index-of for vectors.  
An elegant and correct model is:

ix=: #...@[ - (+/)@(+./\)@(=/)

But due to abysmal performance this is pretty useless
in practice.

I guess it depends on what you mean by "first comes".
If you were implementing dyadic index-of you _would_ 
first writing something like the above, but almost 
immediately you write something else.



----- Original Message -----
From: Robert Raschke <rtrli...@googlemail.com>
Date: Thursday, September 23, 2010 6:57
Subject: Re: [Jprogramming] Classification problem
To: Programming forum <programming@jsoftware.com>

> I disagree, first comes elegance and correctness, and these tend 
> to go hand
> in hand if you are concentrating on elegance. I quite strongly 
> believe a
> human reader is way more important than any machine.
> 
> Robby
> 
> On Thu, Sep 23, 2010 at 2:24 PM, R.E. Boss 
> <r.e.b...@planet.nl> wrote:
> 
> > I agree. First comes correctness, then performance, then elegance.
> >
> >
> > R.E. Boss
> >
> >
> > > -----Oorspronkelijk bericht-----
> > > Van: programming-boun...@jsoftware.com [mailto:programming-
> > > boun...@jsoftware.com] Namens Brian Schott
> > > Verzonden: donderdag 23 september 2010 14:41
> > > Aan: Programming forum
> > > Onderwerp: Re: [Jprogramming] Classification problem
> > >
> > > I agree that this solution is elegant, but for a large data 
> set I
> > > assume that Raul's idea of prepending and then dropping 3 elements
> > > would be more efficient. Don't you, too?
> > >
> > >   (<@}./.~ *) _1 0 1,data
> > >
> > > On Thu, Sep 23, 2010 at 8:26 AM, R.E. Boss 
> <r.e.b...@planet.nl> wrote:
> > > > One of the more elegant solutions is
> > > >
> > > >   ((/:&(* </. ])) *) data
> > > > +---------------+---+-----+
> > > > |_3 _1 _10 _2 _4|0 0|1 1 6|
> > > > +---------------+---+-----+
> > > >
> > > >
> > > > R.E. Boss
> > > >
> > > >
> > > >> -----Oorspronkelijk bericht-----
> > > >> Van: programming-boun...@jsoftware.com 
> [mailto:programming-
> > > >> boun...@jsoftware.com] Namens Marshall Lochbaum
> > > >> Verzonden: woensdag 22 september 2010 23:57
> > > >> Aan: Programming forum
> > > >> Onderwerp: Re: [Jprogramming] Classification problem
> > > >>
> > > >> It looks to me like the most terse way is
> > > >> ((</. /: ~...@[)~ f) data
> > > >>
> > > >> Although this computes the nub twice, unlike some earlier 
> solutions.> > >>
> > > >> Marshall
> > > >>
> > > >> ________________________________________
> > > >> From: programming-boun...@jsoftware.com [programming-
> > > >> boun...@jsoftware.com] On Behalf Of Raul Miller [
> > rauldmil...@gmail.com]
> > > >> Sent: Wednesday, September 22, 2010 3:29 PM
> > > >> To: Programming forum
> > > >> Subject: Re: [Jprogramming] Classification problem
> > > >>
> > > >> Note, if * is the universe of interesting
> > > >> functions (if it does not need to be generic) then
> > > >> I would be tempted to use a variation on Dan's
> > > >> second suggestion:
> > > >>
> > > >>    (<@}./.~ *) _1 0 1,data
> > > >>
> > > >> Note that this also preserves the relative
> > > >> ordering of the data items.
----------------------------------------------------------------------
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