> 1) is ruby just a "toy" language? OK, OK, don't all shout at once -- but
> who's using it for medium-to-large projects, 10K SLOC and up?

I've just delivered a fully OO ecommerce system that's about 15KLOC,
if you consider your automated test code part of your production code.
(I do.) It's definitely not a toy language.

> 2) how does the language fare compared to other ones?  do you have
> comparative-productivity numbers you'd be willing to share, vis-a-vis C
> (to be brutal) or Perl (to be a little fairer) or Python?

I've never been more productive than when I work in Ruby. I attribute
this to two factors:

  A. Since Ruby supports object-orientation so well, I can write my
important code as objects and then write automated unit tests to
ensure future changes don't break code I've already written.
  B. Ruby has a lot of great syntactical sugar which drastically
reduces how much typing I have to do, especially when compared to
Java, the other OO language I've been using heavily. I've started
having RSI problems recently, and I notice my wrists are much happier
when I can work in Ruby.

> 3) in your experience, how has the language's novelty affected its
> stability? for comparision, recall the early days of java, and how the
> evolution of the class library made "deprecated" a word that...well,
> let's just say "sounds like something scatalogical" and leave it at
> that, eh?

There are definitely some packages that I expect to see rewritten in
the future, which may cause compatibility problems. It's a definite
downside, but I think the big problems aren't at the core of the
language. Java, for example, has had problems with its collection
classes from the start, and it's pretty much impossible to write any
sort of app without wanting collection classes. In Ruby, parts of the
CGI module really bug me, but even when you're writing an ecommerce
system it's fairly easy to isolate the smelly parts to a few parts of
the code.

> 4) where do you use Ruby? headless cruncher programs on servers? as Web
> application glue? GUI end-user programs? fast one-off scripty things?

Web applications with major object-to-relational mapping built-in.

> 7) is Ruby just one of the arrows in your programming quiver, or have
> you made the leap and left other languages behind? if he former, is Ruby
> often your first choice for green-field development?

I would like to do 100% Ruby, and hopefully in a few years it'll be
possible, but currently I have to do work supporting existing systems
in lots of other languages.

I recommend Ruby to small clients who don't need massive armies of
coders, because it's not that difficult to find one or two good Ruby
programmers. But I would hesitate to recommend it to a large client
who may need to hire 10 programmers at once. One day, but not today.

> 8) open-ended essay: what drew you to Ruby? what keeps you working with
> it? what bugs you about it?

I was programming, for fun, a really gnarly variant of a Markov
Chainer, and I couldn't do it in Java. I'd programmed myself into a
corner, and I needed lots of changes to add a certain integral aspect
to the code, but I spent so much time satisfying the compiler that I'd
lose track of the change I was trying to make.

I put the project away, and then a few weeks later decided to try in
Ruby. Ruby has the heavy OO-support you need if you want code that's
robust and well-tested, but because its dynamically typed it's much
easier to change. You spend more time thinking about your problem and
less time satisfying the compiler. I figured out how to do it in Ruby,
when I hadn't been able to do it in Java. I was hooked.

( If you want to quote me, feel free to email me for contact info. I
don't like giving contact info away on a list. )

Francis