Now that I've done a few trivial things with Scala (which I love for hello world and contrived applications!) I am left wondering.. part about maturity of the tools to support development, and part about general applicability.  Are the toolsets ready?  Is Scala appropriate for use on enterprise / business applications?  Would you use it on a non-trivial project?Some of my (possibly unfounded) concerns would be:are the IDE and toolsets as rich as what we have to develop .net and java applications (eclipse for Scala seems limited compared to eclipse for java)?are the build / CI / testing toolsets able to effectively deal with Scala?how maintainable is the concise code that can be (encouraged?) written in the language?is it possible to find developers with Scala experience?is there enough critical mass to get help through on-line reference and books that are more than intro to the language?So bottom line - is the ecosystem mature enough to use now, or better off waiting to see how it evolves?EDIT: let's say non-trivial is a multi-year, multi-release, 10-20 developers project.
Is Scala ready for prime time?
scala
While it is true that Scala has been used in the wild at the Guardian and at Twitter, there is one fundamental concern.Much of Java's popularity comes from the fact that it is relatively easy to read and maintain. Scala has an problem here as it can be written in many different styles. OO style vs functional style is the obvious split here, but it gets more complicated when you talk about the 3 levels of Scala.You need to make sure that your team and any potential new hires can all follow the same style, and that the style is simple enough for you to actually be able to hire developers that can be effective (not everyone can hire the top 2%).Tooling support is also not quite there yet, although I expect this gap to be closed fairly quickly.  You can also get support for the full Scala stack from the TypeSafe crowd.  I think Scala will carve out its niche, but until the levels are actually built into the language/compiler/whatever, I see a maintenance headache coming down on teams after the initial 1-2 years of excited productivity.See this related answer for more details.