Technology Radar TemplateTechnology Radar Template

Scala Lang

This item was not updated in last three versions of the Radar. Should it have appeared in one of the more recent editions, there is a good chance it remains pertinent. However, if the item dates back further, its relevance may have diminished and our current evaluation could vary. Regrettably, our capacity to consistently revisit items from past Radar editions is limited.
Adopt

Scala is used in many projects at AOE. We have therefore moved it to the adopt level.

Trial

Besides Java, Scala is the most mature language on the Java Virtual Machine. Its unique blend of object-oriented and functional language features and rich type system with advanced type inference enables one to write concise code.

It is fully interoperable with Java but has a big ecosystem of tools and frameworks on its own.

Scala provides one of the best high-level concurrency- and async features on the language level as well as on the framework level, making it the default choice of twitter and the like.

At AOE, we already use Scala in various projects to create scalable backend systems (Play, Akka) or for batch processing (Spark).