Scala upgrade improves tooling, sheds runtime overhead
- 28 September, 2012 10:16
Scala, a prominent, statically typed language for the Java Virtual Machine, will be fitted with improvements for classes, asynchronous programming, and development tools as part of an upgrade due soon.
Version 2.10 of Scala will be available in a release candidate stage -- the last stage before a general release -- in about two to three weeks, Scala founder Martin Odersky said this week. A general release could follow in about two weeks if no problems are reported. Scala has been billed as a general-purpose language, deployed in such use cases as the Typesafe software stack for parallel and distributed computing and in Android mobile application development.
[ Scala made the cut in InfoWorld's "9 killer languages for the JVM" slideshow. | Subscribe to InfoWorld's Enterprise Java newsletter for Java news. ]
With a value classes improvement planned for version 2.10, Scala will offer a capability similar to what has been available in C#, in which classes are provided that do not incur a runtime cost. "You can define classes without having the allocation overhead of objects," said Odersky. Also, developers can have lightweight wrappers and proxies that do not require creation of objects. "It's about better performance," with fewer objects created, he noted.
Version 2.10 will emphasize a futures abstraction. With futures, values are produced at some particular time in the future. Futures provide a lightweight abstraction to deal with asynchronous programming challenges over the Internet.
Also featured in the upgrade is a Scala-specific reflection library. A reflection finds out what a program consists of at runtime. This capability paired with a new dynamic type function makes it easier to interoperate with dynamic languages like JRuby for programs that contain both dynamic language and Scala code.
As part of the Scala 2.10 introduction, debugging capabilities have been improved for the Eclipse and IntelliJ Idea IDEs, and the Scala compiler can work incrementally with tools like the Maven build manager (previously, Odersky has called for tools improvements for Scala). A worksheet will be featured for use with the Eclipse IDE, providing a spreadsheet for tracking code and tests, and Version 2.10 also will feature bug fixes.
Odersky will discuss the upgrade at next week's JavaOne conference in San Francisco.
This article, "Scala upgrade improves tooling, sheds runtime overhead," was originally published at InfoWorld.com. Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter. For the latest developments in business technology news, follow InfoWorld.com on Twitter.
Read more about application development in InfoWorld's Application Development Channel.