¿debo aprender scala o java?

Scala has an exact syntax, which eliminates repetitive code. It is both an object-oriented language and a functional language. This combination makes Scala the right choice for web development. If you are looking for an exciting job and learning a functional programming language, then Scala should be your first choice.

To advance your programming skills, it is good to learn at least one language from different paradigms, such as imperative, logical, functional and OOP, and Scala gives you the opportunity to explore both functional and OOP together. Companies that have started using Scala are also contributing to the recent growth of Scala as a mainstream language. The Scala community is attracting Java developers because of the growing number of frameworks and libraries built on top of Scala. However, it should be noted that because Scala is halfway there, object-oriented programming and FP can be a stumbling block for the more purist, but if used carefully, it can be a delightful programming language.

Learning Scala offers developers the opportunity to broaden their programming skills because it combines logical, imperative, functional and OOP methodologies. Given Scala's marketing as a scalable language, the days are not far off when large investment banks and financial organisations will start looking to Scala for their low-latency solutions. With a growing Scala community in the forums, it is not difficult to find an answer to any Scala question, which adds to your learning experience. As with other functional programming languages, in Scala, functions are first-class citizens (meaning you can pass them around as values), and Scala also supports anonymous functions and currying (partial application of multi-argument functions).

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 when programming in Scala. Scala also offers closures, a feature that dynamic languages such as Python and Ruby have adopted from the functional programming paradigm. According to StackOverflow's survey, Scala is among the top 5 most loved programming languages. So is it worth learning Scala? That question seems broad, but learning Scala depends on the applications you are going to handle.