A hands-on introduction to Scala, the first fully-fledged programming language to embody the principles and ideas of object-functional programming. Highly expressive, concise and scalable, Scala grows to the needs of a programmer, whether professional or hobbyist. The book includes carefully chosen exercises and three full programming projects.