What you could do is emulate your previous language in J and then gradually
change your programming style as you see fit.



2007/5/1, Geoff Canyon <[EMAIL PROTECTED]>:

I learn best by doing. I don't have any pressing programming needs at
the moment, so I'm not in a good position to learn a new language.

That said, I fool around at projecteuler.net. I fiddled with J a bit
over the course of two weeks and solved three problems. A fourth
problem I came up with code that works, but too slowly (ran for a day
with no answer). I read through the primer and sections of the rest
of the documentation.

In all cases I've stuck with implicit solutions. I have yet to write
flow control in J, and all my solutions have ended up as one-liners.
So although I feel like I've spent a lot of effort on J, so far I've
managed to write five lines of code ;-)

Then Mike posted about his solution to another projecteuler problem.
I studiously avoided reading his post or any of the follow-ups.
Instead I looked at the problem and I had no clue. I had to retreat
to my previous language to get a solution to the problem, just so I
could look at Mike's code without it being cheating.

Imagine my disappointment when I couldn't even figure out the code.

Nevertheless, I've just solved a fourth projecteuler problem using J.
That's the way it goes: I see a problem and realize that my limited
understanding of J is sufficient, and I'm all set. But outside my
understanding is completely outside my understanding.


I feel like an ancient alchemist working from a dusty tome, who can
only mix up what the formulas tell him, never anything new. I look at
something as simple as $,: and I don't know what it will do until I
look it up. Something like:

mis =: monad def '>./(0:>.+)/\.y.,0'

is a serous puzzle.

So my question is this: how long should I expect it to take before I
"get" J, at least enough that I can puzzle through other people's
code without having to grab the dictionary every other symbol?

Here's my latest Project Euler code, to give you an idea where I'm at
developmentally. I'm not saying which problem it solves, and it
doesn't meet the 1-minute rule, but look away if you want to avoid
any taint of spoilers:














+/(>/)"1 <.@(10&^.)(2 & x:) (+%)/\(1x,1000$2)

regards,

Geoff
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm




--
Björn Helgason, Verkfræðingur
Fugl&Fiskur ehf, Þerneyjarsund 23, Box 127
801 Grímsnes ,t-póst: [EMAIL PROTECTED]
Skype: gosiminn, gsm: +3546985532
Landslags og skrúðgarðagerð, gröfuþjónusta
http://groups.google.com/group/J-Programming


Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans

góður kennari getur stigið á tær án þess að glansinn fari af skónum
         /|_      .-----------------------------------.
        ,'  .\  /  | Með léttri lund verður        |
    ,--'    _,'   | Dagurinn í dag                     |
   /       /       | Enn betri en gærdagurinn  |
  (   -.  |        `-----------------------------------'
  |     ) |        (\_ _/)
 (`-.  '--.)       (='.'=)
  `. )----'        (")_(")
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to