Impressive, Martin! Like Joe, I'm impressed with your impeccable typing too.
On Fri, Mar 7, 2014 at 11:43 AM, Stefano Lanzavecchia <s...@apl.it> wrote: > > -----Original Message----- > > From: programming-boun...@forums.jsoftware.com [mailto:programming- > > boun...@forums.jsoftware.com] On Behalf Of Martin Saurer > > Sent: Friday, March 7, 2014 2:12 PM > > To: programm...@jsoftware.com > > Subject: Re: [Jprogramming] J in 5 minutes > > > > Hello all Jers, > > My two cents (or 15 minutes) to show what J can do. > > > https://www.youtube.com/watch?v=VSJpJt3c11c > > Quite nice! > There are some things I find slightly misleading, but before I list them, I > acknowledge the fact that some might be conscious choices to avoid possible > confusion in an unprepared audience. This said... > About Euler problem 1. > Why use "E." and not the simpler "="? I can see that "=" can be > "misleading" > (to quote myself), but "=" is so common in J that one might as well get > used > to it from the beginning. > So, my first suggestion would be to recast the solution as: > +/ (i.1000) * (0 = 3|i.1000) +. (0 = 5|i.1000) > Then, the similarity of the expressions in the brackets screams to me to be > re-factored as: > 0 = 3 5|/i.1000 > to get to: > +/ (i.1000) * +./0 = 3 5|/i.1000 > > Here I can see, even more than before, that this is overloading the meaning > of "/". Still, in Euler 20 you go for an explicit rank, which you could use > here to remove the ambiguity on the last "/". > > +/ (i.1000) * +./0 = 3 5|"0 _ ] i.1000 > > The cost for the beginner is the introduction of the bizzare "]" (which can > be replaced safely with a + here): > +/ (i.1000) * +./0 = 3 5|"0 _ + i.1000 > > and an early exposure to a reduction of a multidimensional array (the +./). > Pros and cons... > > > About Euler problem 20. > If I had to write the code I'd definitely not go for the ,"0 and the > execute. Instead I would: > > +/'0123456789' i. ": !100x > 648 > which I find more idiomatic. > > Or I would even go as far as using the inverse of 10 base. In other words, > I'd show that: > > 10 #.^:_1 ] 134898 > 1 3 4 8 9 8 > leads naturally to > +/ 10 #.^:_1 !100x > 648 > > My 1c worth.... > > All the best, > -- > Stefano > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm