Scala philosophy – Functional features – Useful constructs



Scala philosophy – Functional features – Useful constructs

0 0


scala-presentation-reveal.js-3.1.0


On Github stanislav-chetvertkov / scala-presentation-reveal.js-3.1.0

Scala philosophy

Created by Stanislav Chetvertkov

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

Functional features

  • Functions are first class citizens
  • Higher order functions
  • Lambdas
  • Laziness

Object oriented

Dynamic features

Useful constructs

Scala philosophy Created by Stanislav Chetvertkov