Why Scala?
Are you ready all in betting on Scala? James Strachan, the creator of Groovy, described Scala as a possible successor to Java.
Scala can compete directly with Java, and give it a run for its money on almost all aspects. It can't compete in popularity at the moment to Java. Of course, the lack of a strong corporate backing may hinder its acceptance on corporate environments. However, who else do you reckon could be the next corporate language for large business, Groovy, Ruby, Clojure, Haskell, or even old Javascript?
Scala for CPU bound systems.
Object-oriented languages are good when you have a fixed set of operations on things, and as your code evolves, you primarily add new things. This can be accomplished by adding new classes which implement existing methods, and the existing classes are left alone.
Functional languages are good when you have a fixed set of things, and as your code evolves, you primarily add new operations on existing things. This can be accomplished by adding new functions which compute with existing data types, and the existing functions are left alone.
Read more - http://stackoverflow.com/questions/2078978/functional-programming-vs-object-oriented-programming
imho, there are different classes/domains of computing tasks/problems and pragmatically and rationally it is not always that all of them are necessarily best addressed by whichever "coolest" paradigm - OO, functional etc
in particular I second opinion I once heard at a seminar ("YAW night" or "Enterprise Java SIG" or something") by guest celebrity speaker Dave Thomas that lots of mundane business problems - "information systems"
(some form to capture data - some way to store it - retrieve - compute/tabulate a report or a mere extract printout) were actually much better served by (fairly "procedurial" rather than "OOP")
"4GL" languages and frameworks/tools/products
then by 3GL+OOP and it was - in his words "conspiracy" by hardware manufacturers to promote 3GL+OOP in these domains because... they can sell more hardware which is inevitable needed to run all the (often a very "baroque" mess) of "OOP" ....
very often hype and fads prevail over reason and pragmatism and efficiency...
one would of thought/hope that Software "Engineers" would value efficiency over fanciful fashionable stuff, but that is not quite often the case...
hence "Developers"... and also "full-on" hype-peddlers - "Evangelists"...
often folks do what is called "Resume Driven Design and Architecture (and technology/Methodology choice)" ...
presuming (and unfortunately rightfully so - due to how lame the industry works, especially its recruitment cottage industry)
that most resume viewers will tend to value buzzwords and "cool" and "hot" shit over actual engineering/computing/problem solving excellence...
(cc: +Martin Paulo )