The open source programming language designed by Martin Odersky at EPFL has reached version 2.10 with its latest release. Scala 2.10 introduces new features that will enable library and framework developers to provide a simpler yet richer developer experience for their users.
- Scala 2.10 adds a new String Interpolation library that works with the power of compile-time type checking in Scala.
- The Scala and Akka teams collaborated on a new API which standardizes asynchronous programming using the Future and Promise paradigms. The API is very helpful in expressing powerful asynchronous computations.
- Enhancing classes to include additional functionality while avoiding run-time overhead is now possible in Scala 2.10 with Value Classes. Together with Implicit Classes, Value Classes make it simple to enhance objects in a type safe and concise way!
- The new pattern matcher can now produce more robust code and provide more user-friendly error messages.
- The Dynamic trait provides a convenient construct for using dynamically typed objects when it makes sense (for example, accessing untyped data over REST).
- Support for ASM library for ByteCode generation for a wider variety of JDK versions including the Java 1.5, 1.6 and 1.7 versions.
- Parallel Collections are now configurable with custom thread pools
- Scala 2.10 includes a few experimental features like Macros and Reflection.
- Scala has now introduced Modularized Language features to configure the requisite features in the code base by simply importing them.
- The original Scala actors are now deprecated, instead Akka Actors now part of the distribution.
- There has been some performance improvements with the latest Scala release.
- Scaladoc now shows implicitly added members, inheritance diagrams and member grouping.
Mention about Scala is incomplete without Typesafe, the platform has been used for developing web based, scalable applications like Twitter, LinkedIn, Foursquare and many more in Scala and Java. The Typesafe Stack combines the Scala programming language, Akka middleware, Play web framework, and robust developer tools in a simple package that integrates seamlessly with existing Java infrastructure.