Introduction to Functional Programming and Scala Language
Why did you choose this course?
What are your expectations about this course?
The course will consist of 3 blocks (or main themes):
Programming in Scala, Fourth Edition: Martin Odersky, Lex Spoon, Bill Venners
Functional Programming in Scala: Paul Chiusano, Runar Bjarnason
Scala is a multi-paradigm programming language
One paradigm - Object Oriented Programming or OOP.
In OOP everything is an object - state and its behaviour
Other paradigm - Functional Programming or FP
In FP everything is a value or a function
Scala has a great type system that allowed to implement all kinds of approaches to concurrency:
All of them enable a rather simple approach to concurrent programming
Scala is executed on Java Virtual Machine (JVM)
Scala provides full interoperability with Java:
Thus, whole Java ecosystem can be reused in Scala
However, Scala.js and Spark will not be covered in this course
Main focus - backend applications