For example, I’m a neuroscientist
I am not a programmer myself, I studied biology and molecular genetics.
I use ruby because it is elegant. I couldn’t care less for “speed” (for
the most part) or any ugly language (I had my time using PHP - those
days are over).
could tell you that the brain is an organ comprised of neuronal
and glial cells that use action potentials to transmit signals.
I see objects and messages.
Ruby is like that 
Or it can be simplified to the fact that the brain is the
organ that controls our body and how it interprets and
responds to internal and external stimuli.
Same analogy with cells. Hormones or other molecules docking
to receptors causing intracellular changes are messages that
change the state of objects. And if you include DNA and RNA,
you suddenly have messages that can permanently change the
behaviour of other objects! Every cell in a multicellular
being is then a mini supercomputer.
I am sure the brain is even more complex due to the
insane amount of dendrites that can have interconnections.
Or, the short and sweet version “the brain is our
body’s CPU”.
Every cell is a mini CPU, think about that. 
For example, why choose Ruby instead of Python or Perl?
Simple. Perl gives you nothing that Ruby can not really
offer. Give me a task that I shall do solve and I will
do it in Ruby - with less lines of code, more elegantly
and more robust.
Python vs. Ruby is harder - the biggest difference is
philosophy. I can not forgive Python that it chose to
go and require explicit self. An OOP language should not
require explicit self. Also, tabs can be annoying -
I dont think a language parser should care about tabs
in such a way as to fail like a drama queen - which
is what the python parser is. A drama queen “oh noooes
me found a little wrongful indent level!!! ME DIES!!!”
The first time I switched to ruby 1.9.x I suddenly saw
warnings in Ruby code about wrongfully indented end’s,
but it was just a warning. For a moment I was shocked
and thought that matz changed ruby to become a drama
queen as well and require TABS now. ;>
Other than that, python has a few strong points.
I think uniformity in code is not so bad - when I
look at other people’s ruby code, I often don’t know
what the f*** I was smoking. And python documentation
is really STILL better than ruby’s documentation -
but it is excused. Because ruby is more elegant,
matz is more awesome than guido, and japanese
hackers only like the japanese language. 
Why is Ruby so hot?
Because it is succinct, terse and elegant.
I am not sure python can be - perhaps.
But perl? Php? Surely not. Those languages are
UGLY. I dont want to stare at ugly code for
hours and hours.
And not python? or any other language?
Python is more elegant than perl. That you
can omit “end” is actually nice especially
for tiny methods - I’d love that, as a togglable
flag for small .rb files …
I’ve chosen to learn ruby (on rails) because
I was told you can build web apps fast.
Perhaps. But there is an initial cost.
You must learn these things… there is no
magic bullet.
I came to ruby before rails and I have to tell
you - rails changed ruby. 
I am not saying for the worse or to the better,
but things were different. Rails slightly overshadows
parts of ruby, and I think it would be better if
Ruby itself would find more exposure again.