At the beginning of this year I started rewriting our Scala training material. Like many introductory programming courses ours was structured around language features. This is the most straightforward way to write a tutorial but, particularly in a language like Scala, this structure doesn’t work well at all. It’s easy to overwhelm the student with details, like the specifics of operator precedence and associativity, that have almost no practical significance for day-to-day programming. All this noise makes it very difficult for the student to pick out the important concepts about how to structure programs written in Scala.
the UK's leading Scala consultancy
Underscore is a team of expert Scala consultants, trainers, and developers, based in London, UK.
What we're saying
Type class based serialization is now standard in Scala JSON libaries such as Play JSON. All our web applications these days are designed as JSON APIs, with the UI being just an API client. We usually find we want a few different serialization formats. Here are two examples that came up recently: logged-in users can see more information than anonymous users; and, as we’re using Mongo, we want a serialization format for the database that includes more information than other clients can see. Thus we need to control which type class is used for serialization at each point.