[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Globals vs. Locals
- From: Uli Kusterer <witness.of.teachtext@...>
- Date: Fri, 5 Aug 2005 20:27:29 +0200
On Aug 4, 2005, at 20:15:39, Mark Hamburg wrote:
I don't know, but I can guess at a couple reasons:
1. It's friendlier toward interactive work.
Well, I'm a big fan of HyperTalk, which solved the problem for
interactivity by simply being able to run the same code in a
different "local" scope. I.e. usually, local variables really were
local, but if you used the interactive command prompt ("message
box"), the local scope *was* the global scope, and every variable you
used automatically became global.
2. You still need declarations for locals to recognize where the scope
starts for a variable. So, the real question is why no declaration for
globals as opposed to why a declaration is needed for locals. For
that, see
1.
Note that Scheme handles things in the same way as Lua.
I see how scoping can be an issue. Though I personally favor the
opinion that, if you use scope "hiding" inside the same function,
it's an unprettyness that should be avoided as it makes the code
harder to read. Continuing from there, I'd want my compiler to not
allow this, in the interest of easing debugging.
Cheers,
-- M. Uli Kusterer
http://www.zathras.de