I think Martin Odersky deserves a lot of credit for this design choice. From an Artima interview:

Then we got in contact with … the Sun core developer team. They said, “We’re really interested in the generics stuff you’ve been doing; let’s do a new project that does just that.” And that became GJ (Generic Java). So we developed GJ in 1997/98, and six years later it became the generics in Java 5, …

Although our generics extensions were put on hold for six years, Sun developed a much keener interest in the compiler I had written for GJ. It proved to be more stable and maintainable than their first Java compiler. So they decided to make the GJ compiler the standard javac compiler from their 1.3 release on, which came out in 2000.

Now, during the Pizza and GJ experience I sometimes felt frustrated, because Java is an existing language with very hard constraints. As a result, I couldn’t do a lot of things the way I would have wanted to do them … So after that time, when essentially the focus of my work was to make Java better, I decided that it was time to take a step back. I wanted to start with a clean sheet, and see whether I could design something that’s better than Java. But at the same time I knew that I couldn’t start from scratch. I had to connect to an existing infrastructure, because otherwise it’s just impractical to bootstrap yourself out of nothing without any libraries, tools, and things like that.

Well, now that I read those words over, it seems more like basing Scala on the JVM was a pragmatic decision rather than a stroke of genius. Still, I think he deserves credit for that early Java compiler.

is a composer and photographer from Detroit, Michigan. He has been working on a Java program to display certain mathematical diagrams.