Scala For Beginners in small, simple and easy steps

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book provides a step-by-step guide for the complete beginner to learn Scala. It is particularly useful to programmers, data scientists, big data engineers, students, or just about anyone who wants to get up to speed fast with Scala (especially within an enterprise context). You get to build a real-world Scala multi-project with Akka HTTP. Who Should Read This Book This book is designed from the ground up with the complete beginner in mind, as well as focusing on day-to-day real-world Scala programming especially within an enterprise context. Therefore, you will find that this book contains more than enough of the basics, in addition to the practical stuff - and of course the content is introduced in a step-by-step way. This book is also a great guide for experienced programmers from different backgrounds, such as, Java, .NET, C++, and others. It is outright true whilst working in large enterprise projects - whose ecosystem typically comprises of numerous programming languages - and as a result you may need to get up to speed fast so as to work on a Scala project, or alongside a Scala team. Likewise, data scientists and big data engineers who already code in, say, Python, R, or Java, will have a better understanding of Scala in general and its development environment. This increased awareness will no doubt help to interface with a number of tools from the Scala ecosystem, such as, Apache Spark - a popular big data technology for data analytics, and machine learning. Naturally, this book is equally intended for the typical programmer, or student, or anyone who wants to quickly learn a modern programming language such as Scala. Book Structure and Content Organization The chapters in this book are organized in such a way to gradually and incrementally learn Scala. In fact, each section is logically ordered with a fast-track, or crash course, perspective, such that you can get familiar with Scala in just about 7 days. Nevertheless, it goes without saying that the 7 days time frame is somewhat arbitrary, and will very much depend on your experience level and time commitment. Needless to say that you can skip certain chapters if you are already aware with the content, or decide to follow along, or cherry-pick specific sections, or even carry on at your own pace. It is worth mentioning, though, that each chapter provides a natural ordering to help you easily build-up your knowledge of the various Scala features. For instance, you will be shown how to use Pattern Matching before being able to apply it within, say, a map(), or a flatMap() function. Of course, I would not recommend cramming the content in just one day - having said that, you can do the whole thing in a short amount of time. The best thinking however is to take the first leap and get started! In the first chapter - Day One: Scala Overview, Development Environment, And Essentials - you will be provided with a general overview of the Scala programming language, along with step-by-step instructions for setting up your Scala coding environment. You will then be introduced to some of the essential components as prerequisites for the upcoming chapters. In the second chapter - Day Two: Learn Functions, Classes and Objects - you will create and use functions, classes and objects. Generally speaking, the features that we illustrate in this chapter will somewhat form a large part in your typical day-to-day Scala coding. In the third chapter - Day Three: Learn Traits, and Akka HTTP Scala Single Project - you will be introduced to traits, and how to use sbt (the build tool for Scala), and begin to create a real-world Scala application. In the fourth chapter - Day Four: Scala's Immutable and Mutable collections - we start off by reviewing some of the basic data structures in computer science, and then proceed with numerous examples in using Scala's Immutable and Mutable collections. In the fifth chapter - Day Five: Scala's Ready To Use Collection Functions - we go over the wide range of functions, which Scala provides out-of-the-box to facilitate the everyday interactions with collection data structures. In the sixth chapter - Day Six: Asynchronous Programming, and Testing Your Scala Application - you will make use of Scala Futures for writing non-blocking code. It will also be time to introduce ScalaTest - a prominent tool for testing Scala applications. In the final seventh chapter - Day Seven: Your Step-By-Step Scala Application - we put together a Scala application from the concepts that we've learned in this book. In particular, the Scala application will be a multi-project, which is quintessential to most enterprise platforms by having various parts of the system encapsulated in small, and reusable, projects. Acknowledgements I would like to take this opportunity to express my sincere appreciation to all the readers at ourhttp://allaboutscala.com blog for their invaluable feedback and comments over the past years. These have greatly shaped up the structure of this book to take into account the true beginner who wants to quickly learn Scala.

Author(s): Nadim Bahadoor
Publisher: leanpub.com
Year: 2019

Language: English
Pages: 581

Title Page
Table of Contents
Preface
Day One: Scala Overview, Development Environment, And Essentials
Day One: Introduction
Day One: General Overview Of Scala
Day One: Setup Scala Development Environment
Day One: Getting Familiar With IntelliJ IDEA
Day One: Introducing The Core Scala Essentials
Day One: Summary
Day Two: Learn Functions, Classes and Objects
Day Two: Introduction
Day Two: Functions
Day Two: Classes and Objects
Day Two: Summary
Day Three: Learn Traits And Akka HTTP Scala Single Project
Day Three: Introduction
Day Three: Traits
Day Three: Akka HTTP Scala Single Project
Day Three: Summary
Day Four: Scala’s Immutable and Mutable Collections
Day Four: Introduction
Day Four: Review Of Basic Data Structures
Day Four: Immutable Collections
Day Four: Mutable Collections
Day Four: Summary
Day Five: Scala’s Ready To Use Collection Functions
Day Five: Introduction
Day Five: Scala 2.13 Collection Redesign
Day Five: Collection Functions
Day Five: Summary
Day Six: Asynchronous Programming And Testing Your Scala Application
Day Six: Introduction
Day Six: Asynchronous Programming
Testing Your Scala Application
Day Six: Summary
Day Seven: Your Step-By-Step Scala Application
Day Seven: Introduction
Day Seven: Akka HTTP Scala Single Project
Day Seven: Akka HTTP Scala Multi-Project
Day Seven: Summary