There's been a very active discussion among Sun's "Java Champions" (Sun's program for external Java developer/evangelists, of which I'm a member) talking about why the Java programming language has lost some luster and Ruby is getting all the coder love.
I commented to the group, "Never underestimate the power of fun." We can talk all day about how much more powerful Java is (true), how it has orders of magnitude more resources, APIs, frameworks, etc. (true), and how it's been used to solve some of the most complex, highly-scaled systems imaginable (true, think Orbitz). But in the end, even programmers are still human.
And human (mammal) brains are tuned for play. Evolution favored those with a high play drive, because play=learning, play=practice, and learning/practice=survival. Play--and laughter--sends a signal to the brain that "this is good, and it matters", which is why we're often more likely to remember especially funny things than neutral or annoying things.
I've been doing Ruby and Rails full-time for almost six months now and I can attest that it is still a lot more fun than I ever had with Java.