Essential Scala: Six Core Concepts for Learning Scala

8th December 2014 in London at Business Design Centre

There are 54 other SkillsCasts available from Scala eXchange 2014

Please log in to watch this conference skillscast.

499386149 640

"In this talk Noel will discuss six fundamental concepts that underly effective Scala.

How can programmers quickly and effectively learn to write idiomatic Scala? This is a question Noel at Underscore had to answer when developing their own training material. They knew we wanted to go beyond teaching syntax and give developers the concepts and techniques they needed to develop Scala in a systematic and idiomatic way.

They identified six core concepts that cover a wide range of Scala programs. These concepts give programmers a reproducible way to create code -- once the problem domain is understood the code follows through a series of systematic and reproducible steps. The resulting code is robust and easily maintained.

In this talk Noel will describe these six concepts, which are:

  • expressions, values, and types;
  • objects and methods;
  • algebraic data types;
  • structural recursion;
  • functors and monads; and
  • type classes.

Noel will show how they let us create code in a systematic manner, and how we can go about teaching the concepts to new Scala developers. This talk should be of interest to anyone who is transitioning to, or leading a team that is transitioning to, Scala, and anyone interested in guidelines for idiomatic Scala code. "


Thanks to our sponsors

Essential Scala: Six Core Concepts for Learning Scala

Noel Welsh

Noel is a partner at Underscore, a global Scala consultancy, where he uses his expertise to develop simple and scalable systems for clients. His main professional interests are programming languages and machine learning.