Scala is not strictly a functional programming language — it was designed from the ground up to be an object-oriented and functional hybrid. So programmers need to choose which methodology to use, but both are available. I recently talked with Alex Payne (@al3x), co-author of the book "Programming Scala," about the advantages of using Scala.