>>> I'd be interested to know *why* it is a language convention, and more
>>> important why it is a lanaguage convention that from this thread it
>>> seems rubyists vigorously insist upon?  For those of us who were
>>> "raised" with a language like Java (or as some on this list may say,
>>> brain damaged ;-), lowerCamelCase seems more pleasing to the eye than
>>> identifiers_with_underscores.

raise BrainDamagedException(Java)

We like UpperCamelCase, but don't like the lowerCamelCaseCompromise.

Part of it is just getting used to, but ...

>> We feel exactly the opposite.  That's your *why*.  ;)
>> 
>> The human eye picks out words by shape.  We use spaces between words  to 
>> separate those shapes into easily digested chunks.  OneLongWord is  not 
>> a shape we are use to, so we have to stop and think.   Unfortunately, 
>> spaces aren't allowed in programming variables.  The _  character is 
>> allowed though and the next best thing, so we go with that.
>> 
>> This is all my opinion, of course.
>
> I share this, and I think ruby capable editors could be told to gray out
> underscores within variable and method names. (so that they are visible
> but can be easily ignored while reading).

Gray out? No way. Have you ever printed var_with_underscore on a printer
that places your underscore lower than you want? Absolutely unreadable.

I think that the underscore is *not* a space and *not* a dot, but clearly,
visibly connects the words. Especially in Ruby where "method param" is
perfectly valid, but totally different from the equally valid
"method_param".

When I tried SciTe (I think it was scite) recently, some folding striked the
this-is-folded-line right through the underscores. That was an immediate
turn-off for me.

Bye,
Kero.

PS: old habits die hard. Accidentally, I came from Java to Ruby, too. Yes, I
frowned upon the underscores when I started (at the time, we had the printer
mentioned above at work; a2ps helps). Right now, I think it is 'just a
convention' and should be followed. For completeness, when I started with
Java, I frowned upon lowerCamelCase. I still do.