Synopses & Reviews
Scala in Depth is a unique new book designed to help you integrate Scala effectively into your development process. By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example. About the Book
Scala is a powerful JVM language that blends the functional and OO programming models. You'll have no trouble getting introductions to Scala in books or online, but it's hard to find great examples and insights from experienced practitioners. You'll find them in Scala in Depth.
There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's Inside
- Concise, expressive, and readable code style
- How to integrate Scala into your existing Java projects
- Scala's 2.8.0 collections API
- How to use actors for concurrent programming
- Mastering the Scala type system
- Scala's OO features—type member inheritance, multiple inheritance, and composition
- Functional concepts and patterns—immutability, applicative functors, and monads
Table of Contents
- Scala—a blended language
- The core rules
- Modicum of style—coding conventions
- Utilizing object orientation
- Using implicits to write expressive code
- The type system
- Using implicits and types together
- Using the right collection
- Integrating Scala with Java
- Patterns in functional programming
Fastest way for programmers to be productive with this exciting new "multi-paradigm" language, with combines object-oriented and functional programming. Programming Scala introduces a new language for the Java Virtual Machine that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book teaches programmers how to be productive with Scala quickly, and explains what makes this language ideal for today's highly scalable, component-based applications that support concurrency and distribution.
Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution.
Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily. Packed with code examples, this book provides useful information on Scala's command-line tools, third-party tools, libraries, and available language-aware plugins for editors and IDEs.
- Learn how Scala's succinct and flexible code helps you program faster
- Discover the notable improvements Scala offers over Java's object model
- Get a concise overview of functional programming, and learn how Scala's support for it offers a better approach to concurrency
- Know how to use mixin composition with traits, pattern matching, concurrency with Actors, and other essential features
- Take advantage of Scala's built-in support for XML
- Learn how to develop domain-specific languages
- Understand the basics for designing test-driven Scala applications
Scala is a new hybrid object-oriented/functional language written for the Java Virtual Machine (JVM). The Scala type system, while very powerful, can be daunting. This book helps remove obstacles by showing how to effectively use this language both on its own and within the JVM ecosystem.
Scala in Depth helps readers integrate Scala into their existing projects as well as introducing new best practices and designs that are emerging from the Scala community. This book covers advanced object oriented features of Scala, as well as functional concepts. The book also describes some fundamental coding styles that can prevent common pitfalls and help keep your code concise, expressive and readable. The book covers the new Scala 2.8.0 collections API.
About the Author
Dean Wampler is a Consultant, Trainer, and Mentor with Object Mentor, Inc. He specializes in Scala, Java, and Ruby. He works with clients on application design strategies that combine object-oriented programming, functional programming, and aspect-oriented programming. He also consults on Agile methods, like Lean and XP. Dean is a frequent speaker at industry and academic conferences on these topics. He has a Ph.D. in Physics from the University of Washington.Alex Payne currently works for Twitter, Inc., a communications service that allows users to send short one-to-many messages via a variety of media. His title at Twitter is API Lead; his daily work is growing and supporting a collection of services on which other developers can build. Alex has been working at Twitter since the beginning of 2007, several months before the service began to grow in popularity. Before working at Twitter, Alex worked in information security, helped build web applications for political campaigns and non-profits, and more. In his free time, Alex studies the history, present use, and evolution of programming languages, as well as minimalist art and design. Alex lives and works in San Francisco, where he engages in an endless search for the perfect cocktail and cup of coffee.
Table of Contents
DedicationForewordPrefaceChapter 1: Zero to Sixty: Introducing ScalaChapter 2: Type Less, Do MoreChapter 3: Rounding Out the EssentialsChapter 4: TraitsChapter 5: Basic Object-Oriented Programming in ScalaChapter 6: Advanced Object-Oriented Programming In ScalaChapter 7: The Scala Object SystemChapter 8: Functional Programming in ScalaChapter 9: Robust, Scalable Concurrency with ActorsChapter 10: Herding XML in ScalaChapter 11: Domain-Specific Languages in ScalaChapter 12: The Scala Type SystemChapter 13: Application DesignChapter 14: Scala Tools, Libraries, and IDE SupportReferencesGlossaryColophon