To put it simple - Scala puts together the best parts of Standard ML (functional programming - so one could reason about code as a form of calculus, plus pattern matching on type-constructors with destructuring, partial application, etc) Smalltalk (everything is an object and objects communicate via messages passing by calling methods - the original concept of &quot;pure OO&quot; by Alan Kay and the best part of Smalltalk implementation) plus foundation ideas from Erlang (an Actor and messaging DSL based on high-order procedures and some syntactic sugar). Together it is already worth switching, especially afrer realizing what a crap Java is compared to this conscise and well-researched mix of complementing each other features). Scala is also famous for its emphasis on immutable collections, which makes GC less painful.<p>Scala initially is a product of a single remarkably well-trained  mind, instead of committee of mediocrity.<p>Clojure, BTW, was a solo remake of Scala&#x27;s approach (Java interloop, emphasis on collections, immutability, etc) while starting from Common Lisp (strong, dynamic typing) instead of Standard ML (strong, static) as its basis.<p>Actually, the Scala course on Coursera is very good start.