Linking to "Dynamic Languages Strike Back"

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).

Steve’s additional point was that the same tools used for JIT are useful for Rename refactoring and other IDE requirements, and he brings IntelliJ’s IDEA as an example that shows that a good IDE for a dynamic languauge (javascript) is possible. I’d add that the rope project for python is also a good example (and of course as he mentions in the talk, smalltalk started with the refactoring browser, and smalltalk is definetly dynamically typed).

Of course I fully expect pypy to prove that Steve is right.

Leave a Reply