This is also wrong. Classes aren't global in Ruby. Classes are just Objects.  Constants have weird scoping issues.   you can get into some really weird conditions when you start doing interesting metaprogramming.  For instance, try .dup'ing a Class object whose implementation refers to another class via its name.  You will get an error that the constant can't be resolved.