An upgrade is in process for Scala, the general-purpose programming language designed to express common programming patterns for the Java Virtual Machine. The language will now benefit from asynchronous programming improvements as well refinements to its classes.
Scala founder Martin Odersky will provide further details next week during the JavaOne conference in San Francisco. This will be a release candidate stage release of Scala version 2.10 with the final release to follow in (potentially) as little as three weeks.
Odersky claims that Scala integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application. It has been used in Android mobile application development and also in parallel and distributed computing environments.
Scala's next class development pushes towards the functionality seen in C# where classes can be provided without incurring a runtime overhead. "You can define classes without having the allocation overhead of objects," said Odersky. "It's about better performance," he added.
The next release will also feature debugging capabilities for the Eclipse and IntelliJ Idea IDEs plus a Scala-specific reflection library. The mirror-based reflection API for the Scala programming language gives access to meta-level information(s) about a Scala program. This reflection, combined with a new dynamic type function, is thought to open a wider interoperability door to the use of dynamic languages such as JRuby when handling programs that consist of a mix of both dynamic language and Scala code.