chromatic wrote: > > That doesn't quite seem fair; dynamic is a lot broader than just typing. > Certainly any statically typed language with decent support for generic > operations (or at least type-safe polymorphism) and a non-static loading > scheme would be sufficiently dynamic. > > I can't point to an example of such a language, but there you go.
Well, it could be rather painful to use those features with static typing. Dynamic typing is more of a side-effect of dynamic language features than it is the defining characteristic. Here are a few concepts often associated with dynamic languages (though, many are creeping into static languages now too): reflection, dynamic modification of behavior, garbage collection, portability/mobility, dynamic first-class namespaces, explicit meta-models, optional/pluggable type systems, incremental compilation of running software systems... Here's a tiny, semi-random collection of snippets for further reading, there are plenty more out there: <http://www.ai.mit.edu/projects/dynlangs/> <http://en.wikipedia.org/wiki/Dynamic_language> <http://lambda-the-ultimate.org/node/852> I particularly like this quote: "The notion of custom-built "little languages" goes all the way back to Lisp and Smalltalk, as ultimately everything related to dynamic languages does. It's one of those deeply elegant principles that can take decades to unfold." <http://weblog.infoworld.com/udell/2005/05/23.html> Ride the wave, change the universe, Allison