Archive for May 12, 2008

Monday, May 12, 2008

Dynamic Languages Strike Back

Steve Yegge gave a talk at Stanford with lots of interesting information and links about dynamic languages and performance:

Java inlines polymorphic methods! Now the simplest way to do it was actually invented here at Stanford by Googler Urs Hoelzle, who’s, you know, like VP and Fellow there, and it’s called, it’s now called Polymorphic Inline Caching. He called it, uh, type-feedback compilation, I believe is what he called it. Great paper. And it scared everybody, apparently. The rumors on the mailing lists were that people were terrified of it, I mean it seems too hard. And if you look at it now, you’re like, dang, that was a good idea.

So when we talk about performance, it’s all crap. The most important thing is that you have a small system. And then the performance will just fall out of it naturally.

What’s happening is: as of this Ajax revolution, the industry shifted to trying to optimize JavaScript. And that has triggered what is going to be a landslide of research in optimizing dynamic languages.

Update: Avi Bryant responds:

The following two statements are true:

  1. Strongtalk has an optional static type system.
  2. Strongtalk is 15-20x faster than most other Smalltalk systems.

What’s false is the causal link Steve is claiming between them.