> I agree with you that the *concept* is not confusing. However, in
> practice the automatic creation of variables is a VERY error prone
> mechanism. It's the cause of very subtle and difficult to find bugs.
> Most dynamic languages have learned this the hard way and now provide
> mechanisms to disable this behaviour. Some have even made that the
> default setting of the language.
Well, Python didn't (even though you can limit creation of slots on
new-style classes)... but I see your point.
> Io is a language that I'd love to be able to use for several
> applications at work. It's potential is big. However, the automatic
> creation of slots is the one feature that'll make me think twice
> before using it in a team-based software development environment. This
> is based on my previous experiences of projects that also used dynamic
> languages with this feature, and the many headaches that resulted from
I see your point now. Perhaps Io could define some "environment switch" to
enable or disable limitations on slot creation? I think that would be the
best solution (doesn't break existing code, but permits greater control on
team-based development and easy finding of scope-related bugs).
Just my 0.02.