Is it necessary to know Java before learning Scala?


Is knowing Java a compulsory prerequisite before learning Scala as a beginner programmer having some experience with python and little bit of Java.


I wouldn’t say it is required at all, though it is certainly true that the more knowledge you have about the JVM environment, the better off you are, but you will learn that as you go, whether or not you learn Java, Scala, or some other JVM language.

A number of resources are listed on the Scala Language site.

Atomic Scala is a book that sounds particularly relevant, though I haven’t tried it, so I can’t say how much your existing python knowledge might make the book boring.


Language of Java-the-language isn’t useful at all for learning scala as it is in my opinion.

Some knowledge of the Java ecosystem can be useful, as there are Java libraries you can interop with for pretty much anything.

If you want to dive really deep, knowledge of the JVM may also be useful - unless you just want to do scala-js or scala-native.


Scala’s beautiful… glad I’m trying it out…


In my opinion, no it is not compulsory in itself.

Brett M. Gilio
B.S. Biological Sciences
B.M. Music Composition

“Sometimes the obvious is the enemy of the true.”

  • G. Stolzenberg



You can learn Scala without knowing Java.

However, you most likely find yourself wanting to use the Java standard
library or other Java libraries, and those are documented using Java code

For example, in Scala, we use String, which is made accessible via
which is an alias for java.lang.String, from the
Java standard library.

 Best, Oliver