Typesafe Reactive Platform

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.

Productive

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.

Scalable

Scala emphasizes scalability - large development teams, large codebases, and large numbers of CPU cores. Adapting to a multicore and distributed computing world, the Typesafe 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 shorter, faster, more scalable, more correct, and even more fun.

The Scala programming language was originally developed by Typesafe co-founder Martin Odersky's research group at EPFL.

The most popular IDEs support Scala

Scala IDE for Eclipse

If you've used Eclipse then check out the Scala IDE for Eclipse. It provides complete Scala tooling in a familiar environment. You can grab a pre-packaged distribution and start coding right away.

Get started with the Scala IDE for Eclipse

Scala Support in IntelliJ IDEA

IntelliJ IDEA provides great Scala support in the free Community Edition through the Scala Plugin.

Get started with the IntelliJ IDEA Scala Plugin

Scala Support in Sublime Text

Sublime Scala strives to realize the dream of having Scala semantic services inside a lightning fast and feature-rich text editor.

Get started with Sublime Scala

Scala Support in NetBeans

The Scala Plugin for NetBeans provides syntax checking, syntax highlighting, auto-completion, pretty formatter, occurrences mark, brace matching, indentation, code folding, function navigator, go to declaration, project management and a shell console.

Free E-Books to Get You Started

Check out these free e-books to get you started or further into Scala:

  • Scala for the Impatient by Cay Horstmann
  • Scala in Depth by Joshua D. Suereth
Learn More and Get Your Free E-Books