Scala comes in where languages like Java fails. Scala offers a clean syntax, first-class functions, pattern matching, built-in data structures, an effective inheritance, and a built-in REPL (read-evaluate-print-loop). On top of all of these features, Scala runs on JVM and it can use existing Java libraries for all the important functions. Programmers can use all the standard Java libraries in Scala. Moreover, Scala and Java share a syntactic similarity, which makes it easier to use or import any Java resource easily.
Undoubtedly, Java language is one of the most widely used programming languages in the world today. Java appeared as a major programming language in 1995 and since then, it has undergone several changes for creating a better programming environment. Java offers modular and rock-solid coding features, making it one of the best platforms for programming. However, Java is far off from being a perfect language.
(By: Scala for the Impatient )
Scala for the Impatient keeps you on a fast track and you can get started with the basic syntax, unique idioms, and helps understand the interpreter used in Scala. This book also explains the best features of functional and object-oriented programming.
It is designed for experienced programmers and it can help them get started with the mainstream development. If you are not sure about the use of Scala, this book will explain some of the important characteristics which make it a quintessential book for Scala programming.
(By: Martin Odersky , Lex Spoon , Bill Venners )
Scala offers a practical and much-needed upgrade for the Java programmers. This book explains the benefits of using Scala for development and starts with the basic concepts up to the higher-end programming features.
The concepts are introduced at the right stage and explained with proper illustrations. However, you should have a good understanding and experience in Java development, to make the best use of this book.
(By: Joshua D. Suereth )
Scala In-Depth starts with the benefits of Scala language and its wide-spread adoption in recent years. This book is designed for experienced programmers and does not include the fundamentals of Object-Oriented Programming.
This book is targeted towards programmers who are planning to improve their programming skills and understand the features of Scala as a language. You can learn much more than coding and understand the type system principles, learn how to create a better programming environment, and learn the best practices for creating applications in Scala.
(By: Alvin Alexander )
Alvin Alexander has used his years of experience in writing this book and highlighted the features of Scala in an efficient manner. The book offers some of the best explanations for important concepts of programming such as Flat map (a function used for returning sequential data for every element while flattening it into the base/original list).
Additionally, the book answers some of the most common questions that every new program has while learning Scala. You can find out the answers to real-world problems that you might encounter during development.
(By: Dean Wampler, Alex Payne )
You can learn Scala with the test-driven approach used in the book. What’s more, all the important concepts are followed with detailed examples and problems to test your programming skills.
Scala is gradually emerging as the best language in the current programming paradigm. It offers the features of functional as well as object-oriented programming and uses cleaner syntax for complex development.
As the Java community is enormous and has been functional for the last fifteen years, its tools are very matured indeed. However, the Scala tools are also evolving at a brisk pace, especially because of the frequent contributions from Typesafe and Twitter communities.
It is the next big thing after Java; hence countless companies are migrating to Scala quickly. If you are planning to learn a new programming language, Scala is the best options to choose. You can benefit from these books and learn the basic concepts with a test-driven approach.
Updated On Oct 2016: Updated links and fixed minor formatting issues.