Interesting question ... Platform is probably not a solidly defined term. Does it mean the same thing to you as it did to Sun?
Java is more than the language. The "virtual machine" part of the JVM is a type of platform. You can take class files and run them into the Java platform to run. It's all the environment you need to run a Java program, and all the rules about what it does are defined by Java, independent of the operating system or hardware.
How useful is it to distinguish "Java: a programming language" from "Java: a platform" ?? Not something I worry about often but the way the JVM supports cross-platform portable code is an important part of the Java story.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi