Commitment to the Java Ecosystem
At Lightbend, we’re committed to helping developers build massively scalable applications on the JVM. Many users of the Lightbend Reactive Platform develop with Java as their programming language of choice.
Java is a first-class citizen in Lightbend technologies. Akka has sophisticated API’s for Java. This means smooth interoperability and no need to learn or adopt Scala for current or future projects. Similarly, Play Framework is a pure Java and Scala framework that allows you to keep your preferred development tools and libraries. If you already use Java or Scala as a development platform, you don’t need to switch to another language, another IDE, or other libraries. When Lagom Framework was launched, Java APIs were the first to be supported.
Particularly with the release of Java 8 we are excited to show you how to use the new language features when building Reactive applications.
Scala—The Language of Pragmatism
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala smoothly integrates features of object-oriented and functional languages, enabling developers to be more productive while retaining full interoperability with Java and taking advantage of modern multicore hardware. Scala makes it easy to avoid shared state, so that computation can be readily distributed across cores on a multicore server, and across servers in a datacenter. This makes Scala an especially good match for modern multicore CPUs and distributed cloud-computing workloads that require concurrency and parallelism.
Thanks to its type inference and other features, Scala is a succinct language, typically enabling developers to reduce the size of source code by at least a factor of 2 or 3 compared to Java. Scala is bundled with a rich set of developer tools, resulting in productivity comparable to languages like Ruby or Python, while retaining the performance advantages of Java.
Scala emphasizes scalability—large development teams, large codebases, and large numbers of CPU cores. Adapting to a multi-core and distributed computing world, the Lightbend Reactive Platform pairs Scala with an industrial-strength implementation of the actor concurrency model, called Akka.
Interoperable with Java
Since Scala is a JVM language, all of your existing Java libraries and tools can be used seamlessly, ensuring that previous investments are fully protected. Furthermore, you’re able to fully leverage your developers Java programming skills as they become proficient with Scala.
Scala programs are compiled directly to Java bytecode that runs on the extremely mature JVM, and leverages the JVM’s robust just-in-time compilation, garbage collection, and well-understood deployment techniques. The operations team won’t see a difference. Developers keep working in their familiar tools. But they’re writing code that’s correct, more concise, faster, more scalable, and even more fun.
The Scala programming language was originally developed by Lightbend co-founder Martin Odersky's research group at EPFL.