Scala also offers closures, a feature that dynamic languages such as Python and Ruby have adopted from the functional programming paradigm. Scala is a type-safe JVM language that incorporates both object-oriented and functional programming in an extremely concise, logical and extraordinarily powerful language. Yes, it may seem more complex to the Scala novice, but once you understand the concepts behind it, Scala code will seem much simpler than Java code. 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.
ZDNet cites Scala as one of the most popular programming languages that can get you a job interview. But Scala developers also recognised the incredible value proposition of functional programming (the ability to develop code without regard to state). As in 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). In fact, the difference between Java and Scala's use of collections, 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.
Scala enough to give you a preliminary idea of Scala's power and capabilities and whet your appetite for learning the language. In my opinion, for Scala to grow as the real alternative to Java, given that Java 8 also has functional programming support, it needs to attract more and more Java developers. Before you start reading this post, if you really want to learn Scala from scratch you can check out my previous post as well, which is one of the posts in this Scala series. The popularity and usage of Scala is increasing rapidly, as evidenced by the increasing number of open positions for Scala developers.
For those who are hearing about Scala for the first time - or who have heard of it only in passing - let's start with a brief look at Scala's history. One thing you may not know about Scala is that it was originally developed at the Swiss university EPFL in an attempt to apply recent innovations in programming language research to a language that could gain traction in the mainstream, such as Java. For a Java developer, learning a classical functional programming language such as Haskell or OCaml is significantly more difficult than Scala.