Today I watched a video of a presentation given by Allison Randal entitled Exploring Dynamism. It helped me put everything I know about dynamic languages in perspective. Allison is chief architect of the Parrot virtual Machine and employed by O’Reilly Media.
She made a point in the video that while theoretically, languages are either static or dynamic, in practice they exist somewhere on a spectrum between static and dynamic as extremes. She also discussed at length the various dimensions of dynamism including dynamic typing, dynamic dispatch, dynamic compilation and dynamic loading to name a few.
I thought it was brilliant how she discussed the pros and cons of these features quite clearly without bogging the discussion down with examples from any particular languages. This allowed me to think about her points in the context of languages that I know. She demonstrated a deep familiarity with a wide range of dynamic languages throughout her presentation. I was also impressed by the fact that she used her expertise in natural language linguistics to inform her model of computer language linguistics
If you are a fan of Ruby, Lisp, Smalltalk, or even Java, I highly recommend you watch the video. It was certainly well worth my time.