I've been playing with Ruby the past couple of weeks, and I'm hooked. I've been reimplementing a small personal project and I'm definitely not going back to using Java for it.
A short list of the things I like:
It's expressive and concise: When I write a bunch of Ruby code, then come back to it later and read what I wrote, it's almost effortless to understand what I was doing. Even the most well-factored Java code sometimes takes a little concentration to wrap my mind around - mostly because there's just more stuff for my brain to parse.
Iterating is the first difference that leaps out at you. What takes 3-4 lines of java for a plain ol' iteration is one line in Ruby. Overall it feels like I write about 1 line of Ruby per 5 (or maybe more) lines of equivalent Java.
Speed: I don't have to wait for compilation step, or a VM to start up - I hit F5 in my IDE and bam I get output from my tests. Which means I run tests a lot more frequently (probably an average of less than a minute between runs), which means I catch errors earlier and can move a lot faster.
And combined with the tiny amount of code it takes to express an idea, I've had to get used to being ready to transition to the next use case much faster than before. It took a few days of completing use cases, thinking "that's it?", and double checking my code to get used to the faster flow.
Power, OO support, and attitude toward the developer: Nanning gave me mixins in Java, but in Ruby they're just part of the language. Java has anonymous inner classes, but they're poor (and verbose) substitutes for blocks.
I'm way behind here, though - manyother smartpeople have put 2 and 2 together - that static typing is the poor man's TDD, and if you're TDD'ing anyway, why not use the tools that give you more readable programs containing fewer lines of code?
It's hard to argue with the economics - as Bruce Eckel pointed out, programmer cycles are a lot more expensive than CPU cycles - at some point we'll hit a tipping point where Python and Ruby adoption overwhelms Java's (big) advantage in available tools and apis. Not for a while, and until then Java is a pretty good language (with the help of Intellij, that is), but I'm predicting that the shift is inevitable.
That said, Ruby needs something like Intellij and a better debugger - but those are just details that are actively being worked on.