Scala
MentionedProgramming language
JVM language that blends object-oriented and functional programming. Popular for big-data processing.
Scala, explained
Written by EduVerseWhat 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 as part of the wider landscape, without in-depth coverage.