A language that requires less rigid coding on the part of the programmer. It typically features "dynamic typing," which gives the programmer more freedom to pass parameters at runtime without having to define them beforehand. A dynamic language may also perform some amount of self checking at runtime, which would normally be done ahead of time in a compilation stage. Although a dynamic language offers runtime flexibility and is generally easier to program, it does not eliminate the programmer's responsibility for understanding the interactions that will take place.
Convert to Machine Code at Runtime
The term may also refer to interpreted languages in general, which convert source code or bytecode to machine language at runtime, as well as to just-in-time compilation, the process of compiling the program the moment before it is executed.
Dynamic and Non-Dynamic Examples
and JIT compilation