Scala is a language for experienced developers ideally with a strong CTO or architect as team manager (see for instance David's blog entries "Yes, Virginia, Scala is hard" and " Scala use is less good than Java use for at least half of all Java projects").
Scala is indeed more difficult to master compared to Java and Ruby because it requires competency with OOP, FP and static typing to use it most effectively. Similar to average programmers writing C-like code in C++, Scala newcomers may indeed be tempted to reproduce Java idioms in Scala.
In this series of articles we report on our programming experiences with the language Scala from the perspective of an experienced Java developer and compiler writer for languages like Modula-2 (1992-94), Oberon (1990), Portal (1992-93) and Scala (2003-08).
Articles, blogs, books and tools.