QUOTE(William_Wilson @ 13 Jul, 2009 - 09:17 AM)

A dynamic language is merely any language that has the capability of setting and retrieving variables, as this allows for a dynamic use. C, Java etc are dynamic languages, but they are not scripting languages.
Well, that's the most, er, liberal definition of "dynamic language" I've ever heard. Normally, C and Java are considered the
opposite of dynamic languages.
Generally, a "dynamic language" is one that does things at run-time rather than compile-time. The
Wikipedia page gives some good examples of dynamic behavior.
Many "dynamic languages" are also considered "scripting languages", e.g. Python, Perl, Ruby, etc. However, there's no necessary connection between the two. For instance, Lisp is often considered "dynamic" and there have been Lisp compilers around for years. Personally, I tend to think that the whole concept of "scripting languages" is articifal in the first place, but that's another post.