is scala more difficult than java?

Scala is much more complicated than Java, you can't seriously say otherwise. First of all, the object-oriented model is more complex than Java's (controllable type variance, traits, multiple inheritance, abstract values...). For those who are hearing about Scala for the first time - or who have only heard about it in passing - let's start with a brief look at Scala's history. Comparisons of Scala to them show a lack of knowledge, to say the least, but they also show that Scala has a persistent marketing problem.

Some of the more complex features of the language (tuples, functions, macros, to name a few) ultimately make it easier for the developer to write better code and increase performance by programming in Scala. As a result, there are indeed code distinctions and paradigm shifts that can make early learning of Scala programming a bit more difficult, but the result is a much cleaner and well-organised language that is ultimately easier to use and increases productivity. In fact, the difference between the use of collections in Java and Scala, in terms of built-in functionality, is so stark that it is typically very rare to find "for loops in Scala code - they are simply a sub-optimal way of applying operations to collections in most cases. The popularity and use of Scala is growing rapidly, as evidenced by the increasing number of vacancies for Scala developers.

But Scala developers also recognised the incredible value proposition of functional programming (the ability to develop code without considering state). Scala is a type-safe JVM language that incorporates both object-oriented and functional programming in an extremely concise, logical and extraordinarily powerful language. The name Scala is a blend of two words, Scalable and language, representing that Scala is scalable and designed to grow with the needs of the users. Yes, it may seem more complex to the Scala novice, but once you fully understand the concepts behind it, Scala code will seem much more simplistic than Java code.

The Scala language is maintained by the Scala Centre at EPFL which focuses on documentation, education, the open source community and its partnership with different organisations. Scala enough to give you a preliminary idea of the power and capabilities of Scala and whet your appetite for learning the language.