Agile2014 has ended
Back To Schedule
Wednesday, July 30 • 14:00 - 15:15
Lambda the eXtreme: test-driving a functional language (Tim Myer) LIMITED

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Limited Capacity seats available

Functional languages like Scala can reduce the complexity of writing high-concurrency, high-throughput systems, but growing software with TDD in Scala presents challenges unfamiliar to those of us who spend most of our time in the JavaScript, Java and .NET worlds. Learn how to avoid the pitfalls of testing a functional language and walk away with some new techniques that you can apply to development in other languages, even if you have never written software using Scala before.

Suppose your team has decided to use Scala for a performance-critical component in your backend system that will need to scale to millions of concurrent users. A couple of days into the project you are finding that in Scala, there are few easy wins, and as the codebase grows, your confidence in it shrinks. You are comfortable with ATDD, TDD and emergent architecture in the development ecosystems of .NET and Java, but are unsure of the best way to introduce those disciplines to your team along with the conventions of Scala.

Together, we will explore the various testing DSLs available in Scala for elegantly specifying your intent and cultivating your design through tests. We will examine which frameworks to use for testing interactions with an existing Actor-based library, and how to drive the development with tests for a system that relies on reactive programming.

We will start with an empty programming canvas, and by the end of this session, attendees will have been immersed in the process of writing a fully-functional Dropbox client that incorporates the ScalaTest, Scalaz, Akka and Spray libraries.

The techniques are taught in the context of Scala but can be applied to other Actor-based frameworks in functional languages like Erlang or Haskell.


Tim Myer

Programmer, SolutionsIQ
Tim Myer is an XP coach and programmer at SolutionsIQ, a leading provider of Agile transformation services, who takes a real-world approach to delivering Agile at scale. He has been practicing and coaching TDD and ATDD in various software development ecosystems for the last 8 years... Read More →

Wednesday July 30, 2014 14:00 - 15:15 EDT