Scala language moves closer to bare metal

11.05.2016
Scala, a general-purpose language combining object-oriented and functional programming, is about to find another deployment option.

Already used atop the Java Virtual Machine and in JavaScript applications via Scala.js, Scala will also be enabled through the use of LLVM compilers in a project called Scala Native. The technology intends to bring Scala "closer to bare metal," according to its GitHub page.

Using ahead of time (AOT) compilation, the project looks to speed up Scala applications in mobile, gaming, and command-line applications, developer Denys Shabalin, of École Polytechnique Fédérale de Lausanne Switzlerland, said.

LLVM features modular compiler technologies for C and C++ and brings instant startup to Scala Native.

"Scala Native is compiled ahead-of-time via LLVM. This means that there is no sluggish warm-up phase that's common for just-in-time compilers. Your code is immediately fast and ready for action," GitHub documentation states.

Shabalin's issues with the JVM's startup times motivated his work on Scala Native. "In AOT, you compile before you even start the app, so it's faster," he noted.

Primarily targeting Intel and ARM processors, Scala Native features a lightweight managed runtime and could be used for building applications for both Android and iOS

Other features of Scala Native include low-level primitives, for hand-tuning an application to make it work exactly how the developer wants, and extern objects, for calling native code without any runtime overhead.

Scala Native currently in a pre-release stage and has been in development for about a year. Shabalin is ramping up for an official first release of Scala Native.

(www.infoworld.com)

Paul Krill