When using an editor, a drop down box pops down and let's you know what sub-functions, properties, methods, etc. are available in the scope of the procedure or function you are typing. Although this might seem like a lazyman's way to program, the facts are: * it takes less load off your brain and allows you to get on with coding and learn as you go, instead of knowing everything first * the human brain is simply not capable of knowing all and everything about a function or procedure. *it's faster to use codeCompletion than it is to look up help files. Besides, you could look up help on the function after you've found it in the code completion. It's not really that useful for making the typing go faster, it's more useful as a real time reference. Generally, it is wise to type out your functions at 100WPM versus scrolling through a code completion dropBox. It's just a reference: don't abuse to trying to save time typing. Drop-down boxes are not the only form of code completion. In EmacsEditor, for example, M-/ provides word completion and skeleton mode can provide boiler-plate expansions.