Are you an experienced Scala developer or an API and Library programmer, keen to up your Scala game? Join Dick Wall for his Advanced Scala workshop and learn how to harness the power of the Scala type system, how to write your own libraries, how to apply advanced functional programming concepts including Functors, Applicative Functors and Monads, and how to profile and optimise performance of your scala applications.
On the first day, we will cover the Scala type system in depth, including type variance, bounds, implicit conversions, classes and parameters and much more. Day 2 is all about best practices, patterns and techniques you can apply when writing your own libraries. Extractors, serialization of data and asynchronous programming are all covered as well. On the final day, we will dive deep into advanced functional programming topics, including Functors, Applicative Functors and Monads. We also look at macros, the parser-combinator library for creating external DSLs, and how to profile and optimise performance of your Scala application.
Learn how to:
- Use the Scala language in depth, including: type variance; bounds; implicit conversions; classes and parameters; and custom extractors
- Apply best practices, patterns and idioms to your use of Scala
- Understand XML and JSON serialization
- Use Internal and external domain specific languages
- Apply functional concepts including functors, monads, and macros
What the community says
"This was an excellent course by all means. Dick is not only well versed in the subject, but this teaching style is also very effective. The exercises were engaging and provided vital insights into best practices, which can be applied to existing projects."Robert Udah
"Good team work and a great introduction to monads!"Attendee
"This was, by far, the best Scala course I have ever attended."Patrick Tschorn
"By far the best course I've done in Skills Matter! Highly entertaining whilst keeping it within the scope. Explained complex logic in plain English. Very helpful in answering questions, definitely the experts in the field!"Sofia Lim
- When to use Mutable State
- Type Parameterization
- Invariance, Co and Contra Variance
- Upper, Lower and Context Bounds
- Abstract Members in Depth
- Implicit Conversions and Parameters
- Type-classes / Context Bounds
- Implementing Types
- XML and JSON
- Type Classes and Phantom Types
- Modular Programming
- Object Equality, the Gory Details
- Scala Idioms and Best Practices
- Internal Domain Specific Languages
- Design Patterns for Scala
- Tail Recursion, Trampolines
- Functors and Monads
- Parser Combinators and External DSLs
- Writing Macros
If you are an experienced Scala developer or a Scala API or Library programmer, and you want to up your Scala game and learn how to harness the power of the Scala type system, how to write your own libraries, how to apply advanced functional programming concepts including Functors, Applicative Functors and Monads, and how to profile and optimise performance of your scala applications, this Advanced Scala course is for you!
This Advanced Scala course is squarely aimed at Scala API and Library programmers and experienced Scala developers, who want to up their Scala game. If you are not familiar with all of the fundamentals of the Scala language, you may have trouble keeping up. If you want to further your skills in Scala fundamentals first, before attending this Advanced Scala Workshop, we recommend you come along to our Lightbend Scala Language - Professional course where Trond Bjerkestrand will get you up to speed.
Bring your own hardware
Delegates are required to bring their own laptop with Java 8 or higher installed.