Learning Scala Programming
- Get a grip on the functional features of the Scala programming language
- Understand and develop optimal applications using object-oriented and functional constructs of Scala
- Learn the reactive principles with Scala and work with the Akka framework
Scala is a general purpose programming language that supports both functional and object-oriented programming paradigms. Due to its concise design and versatility, Scala's applications have been extended to a wide variety of fields such as data science and cluster computing.You will learn to write highly scalable, concurrent and testable programs to meet everyday software requirements.
We will begin by understanding the language basics, syntax, core data types, literals, variables, and more. From here you will be introduced to the data structures with Scala and you will learn to work with higher order functions. Scala's powerful collections framework will help you get the best of immutable data structures and utilize them effectively. You will then be introduced to concepts such as pattern matching, case classes, and functional programming features. From here, you will learn to work with the object-oriented features with Scala. Going forward, you will learn asynchronous and reactive programming with Scala, where you will be introduced to the Akka framework. Finally, you will learn the interoperability of Scala and Java.
By the end of reading this book, you'll be well versed with this language and its features, and you will be able to write scalable, concurrent, and reactive programs in Scala.
What you will learn
- Get to know the reasons to choose Scala for usage and advantages it provides over other languages
- Bring together functional and object-oriented programming constructs to make a manageable application
- Gain command over basic to advanced Scala constructs
- Test your applications using advanced testing methodologies such as TDD
- Select preferred language constructs over wide variety of constructs provided by Scala
- Transition from object-oriented paradigm to functional paradigm of programming.
- Write clean, concise, and powerful code with a functional mindset
- Create concurrent, scalable, and reactive applications utilizing the advantages of Scala