A dynamic programming language, such as Lisp-derivatives and JavaScript, defer many common behaviors such typing of variables until runtime. Non-dynamic languages typically perform such behaviors at compile time.
Dynamic language behaviors at runtime
- Extension of the program, by adding new code, by extending objects and definitions at runtime (for example, as JavaScript/jQuery plugins)
- Typing of variables at runtime instead of compile-time. A given variable can change its type during runtime as a result of assignment.
- Modification the type system at runtime
Dynamic Languages
- Ruby
- Perl
- Python
- Php
- JavaScript
- Clojure