Scala Applied, Part 3
What you'll learn
- Use case classes to get lots of free, best practice functionality
- Contruct pattern matches like a Scala pro
- Create and use PartialFunctions
- Create, and manipulate Futures to avoid blocking and write reactive code
- Obtain an in-depth grounding in the Scala collections and examine the enormous potential and power in the collections API
- Know which collections to use in different circumstances to get desired performance
- Use Option types instead of nulls to virtually eliminate NullPointerExceptions
- Harness Java libraries effectively and safely, and even improve them in Scala
- Know how to mix Java and Scala on a project, if you need to
- Build your project using sbt
- Write custom tasks and settings in sbt
- Students should follow and complete the Stairway to Scala Setup Instructions, available for free on Udemy, before starting this course
- Students should have completed parts 1 and 2 of Stairway to Scala Applied, or have equivalent skills to having completed those two parts before starting this course
- Students will need a laptop or desktop computer with sufficient performance and resources to compile and run the coding exercises
Scala Applied, part 3 is the final part of this Scala programming language course. The course in its entirety is aimed at giving you a full, day-to-day working knowledge of Scala programming, including some of the most common core library APIs.
This part starts with a final language feature for Scala (continuing from the other language features covered in parts 1 and 2). Pattern matching, partial functions and case classes are examined, how they can be used together, and how partial functions can help you avoid certain runtime errors by validating input to a function before you call it.
Then we delve into the collections API in the core libraries (a very in-depth 2 module examination of the capabilities and performance tradeoffs of the various collection options), and finish up with a look at using Scala on Java projects, using Java libraries from Scala and how to harness build tools (particularly SBT) to build your project and even write custom settings and tasks. Following that we look at the Futures API in the core libraries.
This course is also a good lead-in to the Stairway to Scala Advanced 3 part course which concentrates on in-depth language features, higher level functional abstractions, common patterns and idioms, type theory and other more advanced Scala concepts that will be particularly helpful for anyone writing their own libraries and APIs in Scala.
Who this course is for:
- Anyone wanting to learn the Scala programming language
- This is part 3 of a 3 part course, please check you have skills equivalent to parts 1 and 2 before taking this course
- We do assume the student has some programming knowledge in a modern programming language other than Scala
Dick is a Scala Developer with over 12 years of Scala development experience, and over 10 years of Scala training experience. As well as consulting in Scala, Dick contributes to a number of open source Scala projects, libraries and tools, and is very active in the Scala developer community. He is also one of the Scalawags, a video podcast about the Scala language. He runs Escalate Software which provides Scala training services. Dick also won the inaugural Phil Bagwell Award for Service to the Scala Community, and managed the Scala Community Process in 2015 through 2016