Course Outline
Introduction
- Scala as a JVM language
- Objection-oriented programming vs functional programming
Overview of Object-Functional Programming
- Tail recursion
- Partial functions
- Currying and partial function application
- Closures
- Lazy evaluation
Mastering the Scala Type System
- About traits
- Structural types
- Path dependent types
- Self types
- Covariance and contravariance
- Type bounds
Advanced Pattern Matching in Scala
- Deep matching
- Using extractors
Using Scala Implicit
- Implicit conversion, classes and parameters
- Type class pattern
- Context and view bounds
Libraries and DSLs
- Custom control structures with by-name parameters
- Building well-designed libraries and internal DSLs
Working with Scala Collections
- Working with Streams
- Manifests and class tags
- Builders
- CanBuildFrom
- Building custom collections
Functional Exception Handling
- Traditional exception handling
- Functional exception handling
- Using Try with For comprehensions
Closing Remarks
Requirements
- Hands on experience in Scala programming
- Familiarity with pattern matching and traits
Audience
- Scala programmers who wish to learn the more advanced and nuanced features of Scala
Testimonials (5)
A large amount of practical knowledge shown in real-life examples.
Kamil - Streamsoft Kraków
Course - Java Advanced
Machine Translated
Wszystko było ok
Marek Siódmiak - Santander
Course - Scala: Advanced Functional Programming
The teacher addressed many relevant topics for clean coding with practical examples.
Ben van Oeveren - Movella
Course - Clean Code
Bardzo przystępny do przyswojenia sposób omawiania zagadnień szkolenia, kod ćwiczeń pisany online, a nie z gotowców, który zadziałał niemalże zawsze "od pierwszego kopa".
Marek Czyżewski - Radmor S.A.
Course - Wzorce projektowe w Java
The exercises