Early vs. Late Binding

These terms refer to methods (functions attached to objects), specifically how to find methods. Stackexchange has a nice post on this.

Early binding: The compiler knows that the method exists (important!) and the adress of the method code. It can - more or less - hardcode the method address into your code, and it can also do all kinds of type checking, argument counting, etc.

Late binding: The compiler only knows the name (a text string) of the method and inserts code that looks up the method at run time. This takes time, the method might not exist, and type checking and such can often not be done by the compiler itself. Scripting languages are all "late binding".