Scala looks interesting with respect to scaling out services. Multi-threading does indeed introduce a load of hard to find problems. Working with software like RabbitMQ which is Erlang based seems to bring benefits but at the risk of lack of internal and community expertise. I've heard similar queries regarding scala. That's a big issue when companies are planning to invest a lot on building scalable web-services - and don't want to create code that will be hard to find maintainers for in the future. So there are two questions here really: 1) what sort of scalability improvements might we expect over Java services? and 2) what's your read on the future popularity of the language for multithreaded systems?