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 has over fifteen years experience in software architecture and development, and over a decade in machine learning and data mining. Examples of the projects he's been involved with include one of the first commercial products to apply machine learning to the Internet (eventually acquired by Omniture), a BAFTA award winning website, and a custom CMS used daily by thousands of students. Noel is an active writer, presenter, and open source contributor. Noel has a PhD in machine learning from the University of Birmingham.