Scala Programming Language: 10 Reasons Developers Need to Check It Out

 
 
By Darryl K. Taft  |  Posted 2012-04-16
 
 
 

Scalable

Scala emphasizes scalability—this means large development teams, large code bases and large numbers of CPU cores. Adapting to a multicore and distributed computing world, the Typesafe Stack pairs Scala with an industrial-strength implementation of the Actor concurrency model, called Akka.

Scalable

Functional

Scala is also a functional language. Inspired by the long tradition of functional programming, 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 data center. This makes Scala an especially good match for modern multicore CPUs and distributed cloud computing workloads that require concurrency and parallelism.

Functional

Object-Oriented

Like Java, Scala is an object-oriented language. Developers coming from Java and other object-oriented languages can apply familiar design patterns with Scala, and leverage powerful new object-oriented features such as traits and mixin-based composition.

Object-Oriented

Statically Typed

Scala is equipped with an expressive type system that detects and avoids many kinds of application errors at compile time. At the same time, a sophisticated type inference capability frees developers from the redundant type information "boilerplate code" that is typical of Java.

Statically Typed

Extensible

Scala provides a unique combination of language mechanisms that make it easy to add new language constructs in the form of libraries, or to create domain-specific languages (DSLs).

Extensible

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 two or three, compared with 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.

Productive

Interoperable with Java

Scala protects your investment in existing Java libraries, tools and developer programming skills. Scala programs are compiled directly to Java bytecode that runs on the extremely mature Java Virtual Machine, 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 maybe even more fun.

Interoperable with Java

Open Source

Scala is open source and available under the BSD-style Scala License. It is available as part of the open-source Typesafe Stack.

Open Source

Great Frameworks

Scala has a wide range of high-quality frameworks for incorporation into your applications. This includes the Akka event-driven middleware and Play Web framework, both available bundled with Scala through the open-source Typesafe Stack.

Great Frameworks

Commercially Supported

Typesafe was founded by Martin Odersky, creator of Scala, to provide support, maintenance, training and services around Scala technologies.

Commercially Supported

Rocket Fuel