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 <[email protected]>:

Fra: Roger Hui <[email protected]>
Emne: Re: [Jprogramming] Classification problem
Til: "Programming forum" <[email protected]>
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 <[email protected]>
Date: Thursday, September 23, 2010 6:57
Subject: Re: [Jprogramming] Classification problem
To: Programming forum <[email protected]>

> 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 
> <[email protected]> wrote:
> 
> > I agree. First comes correctness, then performance, then elegance.
> >
> >
> > R.E. Boss
> >
> >
> > > -----Oorspronkelijk bericht-----
> > > Van: [email protected] [mailto:programming-
> > > [email protected]] 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 
> <[email protected]> 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: [email protected] 
> [mailto:programming-
> > > >> [email protected]] 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: [email protected] [programming-
> > > >> [email protected]] On Behalf Of Raul Miller [
> > [email protected]]
> > > >> 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