I just read a great lecture, available as video to to those who prefer, titled as above, here, talking about reasons to use dynamic languages.
Except for the usual productivity, maintainability (both a result of reduced LOC, a result of tersness, and a result of avoiding type tagging, and ability to inspect at runtime), he also gave a great reason to expect performance to be on par with compiled languages, at least some time in the future, and the same for level of IDE’s, based on a single point that might seem strange at first:
- JIT can achieve better performance then compilers.
The reason is very simple: runtime information. Runtime information, as opposed to compile time information, accurately shows where your program is spending its time (hot spots), avoids optimizing unrequired stuff and provides the missing (at compile time) type information (in the case of dynamic languauges).
Of course I fully expect pypy to prove that Steve is right.