The Power of the JVM
headius.blogspot.com
headius.blogspot.com
I think the death of the JVM has been greatly exaggerated. :)
The key difference between Scala and Java here is that because Scala uses type inferencing at compile time, the programmer has to provide a lot less of that information than they would in the equivalent Java code.
What about polymorphic method calls? Statically typed or not, which method implementation to invoke is impossible to know until runtime.
http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented...
Looking up this information at run-time (via reflection) is slow, but dynamic languages on the JVM have have been forced to do that when calling into Java classes from the dynamic language - which is the starting point of the original article.
Scala is not affected by this because it is not a dynamic language and the Scala compiler has the exact same information that the Java compiler does when it compiles a call from Scala to Java.