Autoloading is the process of lazy loading dependencies whenever they
are needed, while on the otherhand the traditional require declaration
is considered the wasteful style where dependencies are loaded immediately.
While these are the definitions, these are the extremes. ZF uses a mixture
of the two styles. Generally most files that are always needed are "required"
in the file header where opcode caches like APC can pick them up and other
dependencies that are not needed on every request such as exceptions or adapters
are loaded conditionally.