Scala

Learn Scala 3: immutable collections, for comprehensions, traits, case classes and enums, pattern matching, givens, Futures, Cats Effect, sbt and Spark.

कोर्स शुरू करें →

आप क्या सीखेंगे

  • Explain Scala's blend of OOP and FP and set up projects with Scala CLI and sbt.
  • Write expression-oriented code with immutable collections, for comprehensions and higher-order functions.
  • Model domains with classes, traits, case classes, enums and exhaustive pattern matching.
  • Handle errors with Option, Either and Try, and use recursion, folds and the type system safely.
  • Apply givens, type classes, extension methods and opaque types, and write concurrent code with Futures, effects and actors.
  • Build, test and ship Scala services and Spark jobs, and interoperate with Java idiomatically.

पाठ्यक्रम

Getting Started with Scala

  1. What Scala Is and Where It Is Used
  2. Installing Scala: Scala CLI, sbt and the REPL
  3. Values, Types and Expressions

Control Flow, Collections and Functions

  1. Conditionals, Loops and for Comprehensions
  2. Immutable Collections
  3. Functions as Values

Classes, Traits and Data Modelling

  1. Classes, Objects and Companions
  2. Traits and Mixin Composition
  3. Case Classes, Enums and ADTs

Functional Programming in Scala

  1. Pattern Matching
  2. Option, Either and Try
  3. Immutability, Recursion and Folds

The Type System and Contextual Abstractions

  1. Generics, Variance and Bounds
  2. Givens, Using Clauses and Type Classes
  3. Extension Methods, Opaque Types and Union Types

Concurrency and Effects

  1. Futures and Asynchronous Code
  2. Effect Systems: Cats Effect and ZIO
  3. Actors with Apache Pekko and Akka

Building, Testing and Data Engineering

  1. Projects with sbt
  2. Testing with MUnit and ScalaTest
  3. Scala for Data: Apache Spark

Services, Interop, Idioms and Revision

  1. Building HTTP Services
  2. Java Interoperability
  3. Idiomatic Scala and Common Pitfalls
  4. Revision and Interview Questions