On Jun 19, 2011, at 9:36 PM, Michael Edgar wrote:

> On Jun 19, 2011, at 7:20 PM, Ryan Davis wrote:
>=20
>> Global variables are just that... global. There's no two ways about =
it.
>>=20
>> Class variables are shared amongst a tree... but WHERE in the tree is =
defined by where it is initialized.
>=20
> This does not explain why they do not auto-initialize to nil like all
> other shared variable types.

Just speculation on my part but if you had implicit-initialization, then =
the scope of the instance variable would be very dependent on the order =
in which various classes were parsed.  An errant reference to the class =
variable in a subclass would effectively hide the same class variable in =
a superclass, which is probably not what is intended.  By requiring an =
explicit initialization the actual scope of the class variable is =
explicitly established by the programer.

Gary