JVM Languages

Scala 2.10 Programming Language Arrives

By Adrian Bridgwater, January 14, 2013

A trend for languages other than Java on the JVM

This week sees the release of version 2.10 of the Scala programming language. Key new elements and improvements in this iteration include a mature programming model for async as well as reduction of boilerplate work through macros and dynamic types.

Scala finds itself at the intersection of "once-again-trendy" functional programming and proven object-oriented programming. It is also part of the increasingly popular movement to languages other than Java on the JVM.

Its developers now "anticipate and expect" Scala to make some serious inroads into the enterprise space as well as give Groovy/Grails a run for their money.

The Play Framework harnesses Scala 2.10's new asynchronous programming model to compose services. The development team reports that library developers are using Scala 2.10's experimental Macros and Reflection features to further reduce complexity in applications. Even String Interpolation is now extensible by library developers in Scala 2.10.

According to the Scala program team, "Often times a developer needs to compose strings of text by substituting values for place holders. Scala 2.10 adds a new String Interpolation library that works with the power of compile-time type checking in Scala."

The Scala team at EPFL and the Akka team collaborated on a new API, which standardizes the API for asynchronous programming using the Future and Promise paradigms. With input from many developers building massively asynchronous systems, the result is said to be a very convenient API for expressing powerful asynchronous computations.

According to Adriaan Moors (Scala tech lead at Typesafe), "Developers who are building complex integration apps with Play and Akka are raving about the new Scala 2.10 Future API because it allows them to fire off hundreds of HTTP calls, then compose the results and render a web page. Composing numerous asynchronous calls in Scala 2.10 using a for-comprehension provides a concise programming model that feels natural but also manages resources efficiently and deals with errors gracefully."

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!