the pickaxe defines Principle of Least Surprise as "things work the way 
you expect them to, with very few special cases or exceptions." i know 
this doesn't necessarily mean "things work the way you expect them _in 
other languages_", but i notice that ruby seems to surprise many people 
with regard to class variables.

may i suggest that we pick a new term for ruby's "class variables" in 
the documentation? "class & subclass variable", "classdown variable", 
"shared class variable", ...

even the downloadable pickaxe book has this in the "Classes, Objects, 
and Variables" chapter:

  "Class variables are private to a class and its instances."

-- 
dave