what is wrong with using the full module name? i find it makes the code more readable.
2. bad search & code completion
when i don't know what function i need, then i need to search the whole library anyways. if i address modules by their full path then code completion will only need to complete on the top level namespace (the list of modules) and then drill down. a clever IDE can track what i already used and offer that first.
3. compiling more than necessary
the compiler only needs to track what functions are actually being called and only compile those or the modules they are in.
4. dependencies are not obvious
an ide can track which modules are used if i use the full path to address them.
without an IDE i'll have to read the code. ok. the long module names stand out, but granted, grepping for import is easier.
the pike programming language works without import. modules are always called by their full path, so the parser and compiler can find and resolve them and compile those that are needed.
pike does have an import statement. it loads all the symbols in a module into the local namespace. it is the equivalent to pythons "from foo import *"
i am not sure about this but my understanding is that otherwise only the symbols that are actually used are being loaded. import is a mere convenience for the coder but potentially causes more memory to be used and may make local namespace searches slower so it's use is not recommended. (not that this would be significant unless you import hundreds of modules)