I am Intern Ruby on Rails Developer, who is willing to understand guts of core Ruby library and it's dependecies.
Traversing through it I came across a strange fact - in all the guides it was recommended not to use class variables in Ruby classes beacause of them being shared in all the inheritance chain below of class where we use such variable @@foo or whatever we call it and even classes where we me mixin the modules where we declared such class variables.
What is a purpose of such global scope of class variables visibility? Why it is not fixed to more safe behavior in one of the Ruby relases if community now considers a malicious practice to use class variables at all?