Udemy

Scala Advanced, Part 3 - Functional Programming, Performance

Enroll Now
  • 1,315 Students
  • Updated 3/2023
4.6
(113 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
4 Hour(s) 54 Minute(s)
Language
English
Taught by
Dick Wall
Rating
4.6
(113 Ratings)
1 views

Course Overview

Scala Advanced, Part 3 - Functional Programming, Performance

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

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.

Course Content

  • 6 section(s)
  • 96 lecture(s)
  • Section 1 Setup Instructions
  • Section 2 Module 12 - FP part 1, Tail Calls, Trampolines, ADTs
  • Section 3 Module 13 - Functors, Monads, Applicative Functors
  • Section 4 Module 14 - Macros
  • Section 5 Module 15 - Parser Combinators
  • Section 6 Module 16 - Performance and Optimization

What You’ll 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


Reviews

  • H
    Héctor Moreno de Mier
    4.0

    It's an interesting course. Sometimes you'll find a few concepts that are hard to understand but the rest is really cool.

  • A
    Artur Melnikov
    5.0

    great stuff highly recommend

  • R
    Randall Scarberry
    5.0

    Very good course. I ran into a few issues because I'm using the latest version of scala 2.13.x, but that's life.

  • N
    Nestor Arias
    5.0

    very nice concepts explained here in a concise matter

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed