I attended DevNexus last week, and a number of the presentations that talked to concurrent (i.e., thread safe) programming used Scala for their code demos and slides. Can you provide a high-level summary of the Scala language features that simplify concurrent programming over conventional Java?
Before Nilanjan replies with a more expert view, here's a couple of starting points. Scala uses an "Actor"-based approach to concurrency, which provides a higher level of abstraction than threads and spares you all the details of locking, synchronisation etc. The Akka library provides an event-driven framework for concurrency based on Actors, and is available for both Scala and Java. Combining this with a more functional approach to programming is seen as a way to implement robust and maintainable concurrent functionality more easily.