From Wikipedia, the free encyclopedia
Dynamic programming language is a term used broadly in computer science to describe a class of high-level programming languages that, at runtime, execute many common behaviors that other languages might 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, all during program execution. These behaviors can be emulated in nearly any language of sufficient complexity, but 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.
Most dynamic languages are also dynamically typed, but not all are. Dynamic languages can be (but not always) frequently referred to as “scripting languages“, though that article narrowly refers to languages specific to a given environment.