Source: The Free On-line Dictionary of Computing (26 July 2010)
duck typing
A term coined by Dave Thomas for a kind of
dynamic typing typical of some programming languages, such
as Smalltalk, Ruby or Visual FoxPro, where a
variable's run-time value determines the operations that
can be performed on it.
The term comes from the "duck test": if it walks like a duck
and quacks like a duck, it must be a duck.
Duck typing considers the methods to which a value responds
and the attributes it posesses rather than its relationship
to a type hierarchy. This encourages greater polymorphism
because types are enforced as late as possible.
(http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/100511).
(2006-09-13)