Over a million developers have joined DZone.

Thinking Less With Scala, Scalapeno 2018 [Video]

DZone 's Guide to

Thinking Less With Scala, Scalapeno 2018 [Video]

Check out how to think less with Functional Scala in this video that answers many of the common questions about Scala. Enjoy!

· Java Zone ·
Free Resource

Last week, I spoke at Scalapeño about “Thinking Less With Scala." The video has just been published and I’m excited to share it with you.

The main message of the talk is that Functional Scala allows you to think less when you read and write code. It demonstrates that good Functions, Signatures, Data, and Functional Patterns to keep your mental stack small.

Watch this talk if you’d like to get started with Functional Programming in Scala, or if you’re already doing some FP but want an insight into the benefits.

In this talk, I answer the following questions about Scala:

  • Why are functions with exceptions and side-effects hard to read?
  • What is a total function?
  • What is a pure function?
  • How do you convert a non-total function to a total one?
  • How do you use container types to give new meaning to you function signatures?
  • How do good functions signatures allow you to think less about what a function is implemented?
  • What is a parametric function?
  • What is parametricity?
  • How does parametricity allow you tho think less about how to implement functions?
  • What is an ADT?
  • What is a value class?
  • How does ADTs/Value classes let you think less about the correctness of you programs?
  • What is a functional pattern?
  • Why are they so different than OO design patterns?
  • How do you spot and refactor to these patterns?
  • How do you encode them with typeclasses?
  • How to use typeclasses?
  • What is a Monoid?
  • How do you use cats library to take advantage of these patterns?
  • What is a derived function?
  • How parametricity, typeclasses and derived functions are related?
  • How does all this FP knowledge will benefit your career?

My slides are available here:


functional programming ,scala ,design pattens

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}