Scala is a highly expressive, concise and scalable language. It is also the most prominent method of the new and exciting methodology known as object-functional programming. In this book, the authors show how Scala grows to the needs of the programmer, whether professional or hobbyist. They teach Scala with a step-by-step approach and explain how to exploit the full power of the industry-proven JVM technology. Readers can then dive into specially chosen design challenges and implementation problems, inspired by the trials of real-world software engineering. It also helps readers to embrace the power of static typing and automatic type inference. In addition, the book shows how to use the dual-object and functional-oriented natures combined at Scala's core, and so write code that is less 'boilerplate', giving a genuine increase in productivity.
• A concise yet complete introduction to the features of the language • Includes real-world applications and examples, and carefully chosen exercises • All of the code in the book is available online, together with exercise solutions
Preface; 1. Introduction; 2. Core features; 3. Advanced features; 4. Parser builders; 5. XML processing; 6. GUI programming; 7. Concurrent programming; 8. On paths and a bit of algebraic abstractions; 9. Virtual files coming into existence; 10. Compositional file matching; 11. Searching, iterating, traversing; 12. The expression problem; 13. A computer algebra system; Appendix A. Multimedia processing; Appendix B. Distributing a Scala application along with Scala itself; Appendix C. Working with the compiler and the interpreter; Appendix D. Scala's grammar; References; Author index; Subject index.