Skip to content
EduVerse

Scala

Mentioned

Programming language

JVM language that blends object-oriented and functional programming. Popular for big-data processing.

Scala, explained

Written by EduVerse

What it is

Scala is a statically typed language on the JVM that mixes object-oriented and functional programming. You can write classes as in Java, but also treat functions as values, use immutable collections by default and let the compiler infer most types. The result is compact code that can get very abstract.

Why teams use it

Scala gives you strong types and expressive functional tools while still using Java libraries. Apache Spark, an engine for processing large data sets, is written in Scala, which made the language popular with data engineers. The downside is complexity and slower compilation, so teams need to agree on which language features they use.

An example from work

You join a data team and find build.sbt at the root of the repository and .scala files under src/main/scala. The nightly Spark job is a chain of filter, groupBy and agg calls that reads almost like SQL. Your first sbt compile takes long enough to notice.

Our own explanation, not a quote from the book.

Where it fits

Big data (Spark), functional programming on the JVM

Coverage in the book

Mentioned

Mentioned as part of the wider landscape, without in-depth coverage.

Appears in