Dynamic programming language is a term used in
computer science to describe a class of
high-level programming languages which, at
runtime, execute many common programming behaviors that static programming languages perform during
compilation. These behaviors could include extension of the program, by adding new
code, by extending
objects and definitions, or by modifying the
type system. Although similar behaviours can be emulated in nearly any language, with varying degrees of difficulty, complexity and performance costs, dynamic languages provide direct tools to make use of them. Many of these features were first implemented as native features in the
Lisp programming language.