Scala Advanced, Part 3 - Functional Programming, Performance

Advanced Functional Programming, Macros, Parser-Combinators, Performance, Profiling, Optimizing

Ratings 4.65 / 5.00
Scala Advanced, Part 3 - Functional Programming, Performance

What You Will Learn!

  • Advanced Functional Programming, Tail Calls, Trampolines, Functors, Monads, Applicative Functors, Different Monad Patterns
  • Macros, Scala Compiler Phases, Abstract Syntax Trees, Quasiquotes, When and how to use macros
  • Parser Combinators, External DSLs, Grammar Translation, Transformers, Parsing, Packrat Parsers
  • Performance Optimization, JVM Performance Tricks, Profiling, Visual VM

Description

The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.

This course assumes you have day-to-day Scala development skills equivalent to having taken the Scala Advanced course parts  1  and 2 from Escalate Software. If you have trouble understanding or following the concepts in this course because some of the concepts being presented are assuming something you are unfamiliar with, then we would recommend you check out the Applied courses as these will answer many of your questions.

Part 3 covers advanced functional programming concepts and patterns, use of Macros, how to write external DSLs with the parser-combinator library, and how to effectively optimize code by analyzing performance:


  • Functional Programming Building Blocks: ADTs, trampolines, recursion, functions

  • Functional Programming Patterns: Functors, Monads, Applicative Functors

  • Common Functional Patterns: IO, Reader, Writer, State, Free

  • Macros and Quasiquotes

  • External DSLs and Scala's Parser-Combinator Library

  • Profiling and Optimization

  • Code Performance Considerations

It is recommended that you complete Scala Advanced parts 1 and 2 before taking this part. While not strictly necessary, we may assume knowledge from parts 1 and 2 in some of the explanations that could be hard to follow unless you know the material.

This is the final part of the Advanced Scala course. We hope you enjoyed the course and that the material proves useful.

Who Should Attend!

  • Scala developers looking to improve their skills, write libraries and APIs for others
  • Developers wanting to improve their knowledge of more advanced functional programming concepts
  • Developers wishing to learn how to save time and money by profiling and optimizing applications
  • Anyone who wants to be able to parse and use external DSLs in Scala

TAKE THIS COURSE

Tags

  • Functional Programming
  • Scala

Subscribers

1229

Lectures

96

TAKE THIS COURSE



Related Courses