About starting to learn the Scala language

My question to experienced developers. I recently got acquainted with the Scala programming language. At the moment, I know very little Python and Wolfram programming languages. I read a lot about Scala on the Internet and decided that I need to study and switch to the Scala language. And I know about Scala that it runs on the JVM as Java, is very similar and has compatibility with the Java language. My question is that: Should I first learn Java before moving on and learning Scala? Should I spend time on Java for Scala? I would like to know your opinions as an experienced Scala-users.

Studying Java is not a prerequisite.

If your target platform is the JVM, then eventually it’s helpful to understand more about it.

But it’s a case of

2 Likes

You definitely don’t need to learn Java first.

If you get interested in learning Java later, for a job or whatever, then knowing Scala will make Java easy to pick up. That’s because, speaking very broadly, Java is just a subset of Scala with a bit different syntax.

3 Likes

Welcome to the Scala community, @binnat

As others said, it’s not necessary to learn Java first.
However many Scala books are aimed at people who know Java.
It might be a bit difficult to find Scala learning materials that don’t assume Java.

One such resource is Scala creator Martin’s own online course.
There is no Java required here. But you might find it quite challenging if you are new to programming, as it assumes 1 year of programming experience, and understanding of recursion (like recursive lists), combinatorial problem solving (like Pascal’s triangle), and mathematical concepts (sets, functions, logic, quantifiers).

Best Scala book for beginners is Daniela’s book very beginner friendly, but it assumes some knowledge of object-oriented programming concepts (not necessarily Java).

If you decide to learn some Java, University of Helsinki has a great online course. I took this and I can recommend it, although it’s a bit repetitive and boring.

Drop by Scala Discord for more direct help with active chat.

Have fun! :tada:

3 Likes

Thank you very much to all. Now it is clear for me…

1 Like