Scala
Object-functional programming
100% free · no signup to
read 6 chapters Programming language
Created
2004 by Martin Odersky at EPFL
Type
Object-functional, statically typed
Runs on
JVM (also JS, Native via Scala.js/Scala Native)
Current version
Scala 3 (2021)
Powers
Apache Spark, Kafka, LinkedIn
Philosophy
Object-oriented + functional in one
File extension
.scala
Best for
Data engineering, Big Data, functional programming
What is Scala?
Scala combines object-oriented and functional programming on the JVM. Created by Martin Odersky in 2004, it powers Apache Spark — the most widely used Big Data processing engine.
Why Scala?
Scala lets you write concise, type-safe code that runs on the JVM and interops with Java libraries. Its functional features make it ideal for data pipelines and concurrent systems.
| Feature | Scala | Java | Kotlin |
|---|---|---|---|
| Functional programming | First-class | Limited | Good |
| Verbosity | Very concise | Verbose | Concise |
| Big Data | Spark, Kafka | Hadoop (legacy) | Limited |
| Type inference | Excellent | Limited | Good |
| Learning curve | Steep | Medium | Medium |
What you'll learn
| Chapter | What you'll know |
|---|---|
| Introduction | What Scala is, how it runs |
| Syntax | Vals, vars, functions, collections |
| OOP | Classes, traits, case classes |
| FP | Immutable data, higher-order functions |
Start with introduction.