Definition
Scala is a modern multi-paradigm programming language
designed in a way to be able to express common
programming patterns in concise elegant and type-safe way
Scala is statically typed language
Everything is an expression
Scala is a blend of
- Functional
- Object Oriented
- Static
- Dynamic
Prefer Immutable
- Safe publishing among threads
- Safe equals and hashcode
- Correct work for generics
- Easier to reason about behaviour without mutations
- Functions are first class citizens
- Higher order functions
- Lambdas
- Laziness
Scala philosophy
Created by Stanislav Chetvertkov