I certainly agree with most of your thougth, although:

> 
> Some of my favorite features:

> * the consistent use of function suffix puncutation
>     Ruby seems to have borrowed scheme's convention of using the '!'
>     suffix
>     for in-place or destructive methods and '?' for boolean predicates.
>     I think
>     that this convention is a great aid to readability.

To me, Ruby does not seem very consistent in the use of function suffix
punctuation. Some examples:

  Array#clear
  Array#pop
  Array#replace
  
Althought it's a destructive method, I don't see any '!' suffix! You could
argue if it's always necessary to add a suffix? E.g. calling IO#read does
change the (internal) state of the IO-object, but this seems normal. Even 
stronger, we expect this kind of behaviour. This also applies to Array#pop 
and Array#push. These are basic stack operations where the behaviour is
known to every (trained) programmer.

Sometimes while writing class methods, I'm asking myself if should add a
suffix or not. I always do if the method is destructive, unless if it's
obvious.



> 
> Overall I'm very happy with ruby.  I'm very pleased to discover a
scripting
> language that lives up to it's own claims of simplicity and elegance and
I

Me too!


Regards,
Paul.