As such, the lack of scoping was not a problem. Scripts were expected to be a few dozen lines long, not the multi-megabyte monstrosities that you see on the web today.
When coming from almost any other language, this lack of scoping is a problem. Something like C++ has horrendously complex scoping rules, but even C allows you to define file-local (static) variables.
How Could it be Better?
Contrast this with a Smalltalk or Java virtual machine, where classes can be lazily read as they are first instantiated. When compiling from another language, you often have a lot of compatibility code to load, which makes it even worse.