Scala voor backend-engineering en functioneel programmeren
Scala draait op de JVM en combineert objectgeoriënteerd en functioneel programmeren in één statisch getypeerde taal. Het vormt de basis van de data-infrastructuur bij bedrijven zoals Twitter, LinkedIn en Databricks — via frameworks zoals Apache Spark, Akka en Play. In dit leertraject leer je Scala van de syntaxis en het typesysteem tot backendontwikkeling voor productie, concurrency en geavanceerde functionele patronen.
Wat je leert
Je begint met de syntaxis van Scala, de REPL, waarden, typen en patroonherkenning. Daarna ga je verder met case classes, algebraïsche datatypen en het model voor foutafhandeling met Option/Either/Try. Vervolgens werk je met functies van hogere orde, staartrecursie, for-comprehensions en luie evaluatie met streams. Onderwerpen op intermediair niveau zijn impliciete waarden, typeklassen, generieke typen, JSON-verwerking met Circe, REST-API's met http4s, asynchroon programmeren met Futures en volledige backendontwikkeling met het Play Framework. In de geavanceerde cursussen behandel je Cats en de IO-monade, ZIO, functionele domeinmodellering, databasetoegang met Doobie, datapijplijnen met Akka Streams, gedistribueerde systemen met Akka Actors en de implementatie van microservices. Het leertraject eindigt met metaprogrammering in Scala, macro's en prestatieoptimalisatie.
Het leertraject
Veertig cursussen lopen van A1 tot en met C2. De cursussen op A1- en A2-niveau leggen de basis van de taal: syntaxis, collecties, tekenreeksen, tuples en patroonherkenning. De B1-cursussen bouwen je vaardigheid in functioneel programmeren uit met recursie, folding, luie lijsten, traits, onveranderlijkheid en de SBT-buildtool. Op B2-niveau maak je kennis met het ecosysteem: typeklassen, Circe, Play, Spark, functies van Scala 3 en asynchroon programmeren. Het C1-gedeelte behandelt onderwerpen voor productie — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie en cloudmicroservices. Het leertraject eindigt op C2 met Metaprogrammering en macro's in Scala en Prestatieafstemming en optimalisatie in Scala.
Zo werkt het
Elke cursus bestaat uit korte, praktische lessen die je in de ingebouwde code-editor afrondt, met feedback in realtime. Je kunt een AI-tutor inschakelen als je vastloopt. De opbouw zorgt ervoor dat elk concept direct voortbouwt op het vorige, zonder dat je tussen externe bronnen hoeft te wisselen.