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.