May 17, 2018
Most primitive types we use are "too wide" for how we are using them; for example, there are an infinite number of Strings, but we are only using the String (hex!) representation of a 128-bit UUID. This is a huge source of bugs in our programs. This talk will go over the many ways we can reduce these kinds of errors in Scala, such as wrapper types, refined types, type restrictions, and more. Required knowledge none Learning objectives I haven't seen a comprehensive guide to reducing errors from using primitive types, so I want to make one and teach everyone how to avoid the mistakes in the first place. Scala lets us do this in so many (good) ways! Specifically: compile- and run-time validation of values necessary and sufficient conditions for type safety Scala-specific and non-Scala-specific techniques to encode constraints as types Adam Rosien is an Associate at Underscore ("The Scala Specialists"), focused on building systems using functional programming. He previously helped various startups in many domains develop back-end systems and implement continuous deployment practices, and also spent five years as a developer at Xerox PARC. Noel is a consultant at Underscore, where he helps companies succeed with Scala. He is an author of "Essential Scala", "Scala with Cats", and "Creative Scala". He believes Strings are pure evil.
Scala Days brings together developers from all corners of the world to share their experiences and new ideas around creating applications with Scala and related technologies, like Spark, Kafka, and Akka. Scala Days provides a unique opportunity for Scala users to interact with the contributors to the language and related technologies and connect with fellow developers.
Professional recording and live streaming, delivered globally.
Presentations on similar topic, category or speaker