Scala Programming Language: 10 Reasons Developers Need to Check It Out
Scala emphasizes scalabilitythis 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.
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.
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.
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.
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).
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.
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.
Scala is open source and available under the BSD-style Scala License. It is available as part of the open-source Typesafe Stack.
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.
Typesafe was founded by Martin Odersky, creator of Scala, to provide support, maintenance, training and services around Scala technologies.