Detailed analysis of this question was presented in Stephen’s post on the next big JVM language http://blog.joda.org/2010/09/next-big-jvm-language_964.html. It does cover Scala and explains why Java cannot just “catch up”. I do suggest to read it. Stephen’s post is more technical and deeper than my post. I hope that it will clarify for you the point I was trying to make with the lipstick analogy.