Strings are Evil: Methods to hide the use of primitive types

May 17, 2018

Speakers

About

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.

Organizer

Categories

About Scala Days

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.

Store presentation

Should this presentation be stored for 1000 years?

How do we store presentations

Total of 0 viewers voted for saving the presentation to eternal vault which is 0.0%

Sharing

Recommended Videos

Presentations on similar topic, category or speaker

Interested in talks like this? Follow Scala Days