Coding in Style: How to wield Scala in the trenches

Track: Alternative Languages
Skill Level: Intermediate
Room: Room 104
Time Slot: Mon 2/24, 5:30 PM
Tags: scala , functional programming , best practices , promises
Presentation Link
Abstract

Scala is an expressive language, but can be hard to grasp when coming from imperative languages. The key is understanding what expression is in Scala, and how to adapt code to be more expressive. This talk covers the ‘zen’ of Scala development, as well as some fundamental approaches to functional programming.

In this talk are a series of examples in Java. First, we’ll start translating the Java to leverage more Functional Programming concepts. Then, we’ll step into Scala and watch the boilerplate melt away.

In particular, the topics covered are:

  • Expression oriented programming, the basics of FP
  • Simplicity in Design
  • Abstracting behaviors
  • How Functional and OO programming blend
  • Asynchronous programming with Futures and Promises
  • Removing edges in libraries with implicit classes and value classes
  • Tracking lexical state with implicit values.
Josh Suereth

Josh Suereth is a Senior Software Engineer at Typesafe and the author of “Scala In Depth”. He has been a Scala enthusiast ever since he came to know this beautiful language in 2007. He started his professional career as a software developer in 2004 using programming languages like C++, Perl and Java. In 2009 he began writing the book “Scala In Depth” which provides practical support for using Scala in every day applications. Josh regularly shares his expertise in articles and talks.