botp,

It would require declarations, I think. Ruby is, for the most part, a
declaration-free language. This is matz choice. Instead you can tell
what a thing is by how it looks: "Class", "Module" or "Constant",
"@@class_var", "@instance_var", "$global_var, "method" or "local_var".

It's probably a very good thing that globals have a visual clue. As for
the others, I sometimes think not. Yes, knowing what a thing is right
off is nice, but the perlishness is hard on the eye.

T.