This is the eBook of the printed book and may not include any media, website access codes, or print supplements that may come packaged with the bound book.
Interest in the Scala programming language continues to grow for many reasons. Scala embraces the functional programming style without abandoning the object-oriented paradigm, and it allows you to write programs more concisely than in Java. Because Scala runs on the JVM, it can access any Java library and is interoperable with familiar Java frameworks. Scala also makes it easier to leverage the full power of concurrency.
Written for experienced Java, C++, or C# programmers who are new to Scala or functional programming, Scala for the Impatient, Second Edition, introduces the key Scala concepts and techniques you need in order to be productive quickly. It is the perfect introduction to the language, particularly for impatient readers who want to learn the fundamentals of Scala so they can start coding quickly. It doesn’t attempt to exhaustively list all the features of the language or make you suffer through long and contrived examples. Instead, carefully crafted examples and hands-on activities guide you through well-defined stages of competency, from basic to expert.
This revised edition has been thoroughly updated for Scala 2.12 and reflects current Scala usage. It includes added coverage of recent Scala features, including string interpolation, dynamic invocation, implicit classes, and futures. Scala is a big language, but you can use it effectively without knowing all of its details intimately. This title provides precisely the information that you need to get started in compact, easy-to-understand chunks.
Get started quickly with Scala’s interpreter, syntax, tools, and unique idioms
Master core language features: functions, arrays, maps, tuples, packages, imports, exception handling, and more
Become familiar with object-oriented programming in Scala: classes, inheritance, and traits
Use Scala for real-world programming tasks: working with files, regular expressions, and XML
Work with higher-order functions and the powerful Scala collections library
Leverage Scala’s powerful pattern matching and case classes
Create concurrent programs with Scala futures
Implement domain-specific languages
Understand the Scala type system
Apply advanced “power tools,” such as annotations, implicits, and type classes