“Never underestimate the power of dreams and the influence of the human spirit. We are all the same in this notion: The potential for greatness lives within each of us.”
— Wilma Rudolph
Progress is inevitable and cannot be stopped no matter what. Whether you are moving forward or backwards, progress occurs and that is up to the person in charge of their progress to pick the direction they prefer. As this early year continues to move, we believe that this is the time to set your bar as high as you possibly can so that you can experience your progress when the year later comes to a close. One of the surest way of measuring your progress is to see how much you have learnt within a certain period of time.
To augment that ideology, we present this article that brings to you materials you can use to study one of the most amazing programming languages you will encounter. It is known as Scala.
The name Scala comes from the word scalable, and true to that name, it’s used to power the busiest websites in the world, including Twitter, Netflix, Tumblr, LinkedIn, Foursquare, and many more. Source: Scala Documentation. Created in 2004 by Martin Odersky, Scala is compiled to run on the Java Virtual Machine (JVM) and is compatible with existing Java programs.
Features of Scala
- It is a modern programming language created by Martin Odersky (the father of javac), and influenced by Java, Ruby, Smalltalk, ML, Haskell, Erlang, and others.
- It is a high-level language.
- Scala runs on the JVM
- Scala can Execute Java Code
- It is statically typed.
- It has a sophisticated type inference system.
- Its syntax is concise but still readable — we call it expressive.
- It is a pure object-oriented programming (OOP) language. Every variable is an object, and every “operator” is a method.
- It is also a functional programming (FP) language, so functions are also variables, and you can pass them into other functions. You can write your code using OOP, FP, or combine them in a hybrid style.
- Scala source code compiles to “.class” files that run on the JVM.
If you are looking for books you can rely on to introduce yourself to Scala a well as deepen your understanding of the language, this brief article gives you and invitation into considering the following resources.
1. Hands-on Scala Programming
The authors of Hands-on Scala, Li Haoyi, graduated from MIT with a degree in Computer Science and Engineering, and since then has been a major contributor to the Scala community. His open source projects have over 10,000 stars on Github, and are downloaded over 7,000,000 times a month. He teaches you how to use the Scala programming language in a practical, project-based fashion. This book is designed to quickly teach an existing programmer everything needed to go from “hello world” to building production applications like interactive websites, parallel web crawlers, and distributed systems in Scala. In the process you will learn how to use the Scala language to solve challenging problems in an elegant and intuitive manner.
In the twenty chapters it is divided into, this resource is straightforward, welcomes readers at different levels of expertise especially beginners and takes them through the entire process with clarity and gravity. Click below to get your Scala interests fixed by solving challenging problems elegantly and intuitively. Get it from Amazon below:
Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way
5 used from $55.89
2. Scala for the Impatient
This book by Cay S. Horstmann is written for experienced Java, C++, or C# programmers who are new to Scala or functional programming. The author is a professor of computer science at San Jose State University, Java Champion and principal author of Core Java®, Volumes I & II, Tenth Edition (Prentice Hall), as well as a dozen other books for professional programmers and computer science students.
The author herein introduces the key Scala concepts and techniques you need in order to be productive quickly. It is the perfect introduction to the language, particularly for impatient readers who want to learn the fundamentals of Scala so they can start coding quickly. It doesn’t attempt to exhaustively list all the features of the language or make you suffer through long and contrived examples. Instead, carefully crafted examples and hands-on activities guide you through well-defined stages of competency, from basic to expert.
This revised edition has been thoroughly updated for Scala 2.12 and reflects current Scala usage. It includes added coverage of recent Scala features, including string interpolation, dynamic invocation, implicit classes, and futures. Scala is a big language, but you can use it effectively without knowing all of its details intimately. This title provides precisely the information that you need to get started in compact, easy-to-understand chunks.
You will get to encounter the following:
- Getting started quickly with Scala’s interpreter, syntax, tools, and unique idioms
- Mastering core language features: functions, arrays, maps, tuples, packages, imports, exception handling, and more
- Becoming familiar with object-oriented programming in Scala: classes, inheritance, and traits
- Using Scala for real-world programming tasks: working with files, regular expressions, and XML
- Working with higher-order functions and the powerful Scala collections library
- Leveraging Scala’s powerful pattern matching and case classes
- Creating concurrent programs with Scala futures
- Implementing domain-specific languages
- Understanding the Scala type system
- Applying advanced “power tools,” such as annotations, implicits, and type classes
Cay S. Horstmann is simple, eloquent and a good instructor. You will find the book easy to follow and he makes sure he takes you to the stuff you want to do as fast as possible. If you are the impatient learner, steal away the show by ordering this resource from Amazon below:
Scala for the Impatient
$40.49 in stock
21 used from $14.84
3. Hands-On Data Analysis with Scala
Author Rajesh is an accomplished man. He is a Hands-on Big Data Tech Lead and Enterprise Architect with extensive experience in the full life cycle of software development. He has successfully architected, developed and deployed highly scalable data solutions using Spark, Scala and Hadoop technology stack for several enterprises. As a way of sharing the things he knows and learnt, he came up with this beginner’s guide for performing data analysis loaded with numerous rich, practical examples. This book helps you to leverage the popular Scala libraries and tools for performing core data analysis tasks with ease. If you are a data scientist or a data analyst who wants to learn how to perform data analysis using Scala, this book is for you.
It begins with a quick overview of the building blocks of a standard data analysis process. You will learn to perform basic tasks like Extraction, Staging, Validation, Cleaning, and Shaping of datasets. You will later deep dive into the data exploration and visualization areas of the data analysis life cycle. You will make use of popular Scala libraries like Saddle, Breeze, Vegas, and PredictionIO for processing your datasets. You will learn statistical methods for deriving meaningful insights from data. You will also learn to create applications for Apache Spark 2.x on complex data analysis, in real-time. You will discover traditional machine learning techniques for doing data analysis. Furthermore, you will be introduced to neural networks and deep learning from a data analysis standpoint.
By the end of your readership, you will be capable of handling large sets of structured and unstructured data, perform exploratory analysis, and building efficient Scala applications for discovering and delivering insights. And that is simply amazing!!
What you will learn
- Techniques to determine the validity and confidence level of data
- Apply quartiles and n-tiles to datasets to see how data is distributed into many buckets
- Create data pipelines that combine multiple data lifecycle steps
- Use built-in features to gain a deeper understanding of the data
- Apply Lasso regression analysis method to your data
- Compare Apache Spark API with traditional Apache Spark data analysis
All you need as a reader is knowledge of the basic fundamentals of Scala programming and you will be on your way to becoming a go to professional in data analysis using the scalable Scala. Click below to order your copy from Amazon.
Hands-On Data Analysis with Scala: Perform data collection, processing, manipulation, and visualization with Scala
1 used from $57.23
4. Introduction to Programming and Problem-Solving Using Scala
One of the authors of this book, Mark Lewis, is a Professor at Trinity University. He teaches a number of different courses, spanning from first semester introductory courses to advanced seminars. His co-author, Lisa Lacher, is an Assistant Professor at the University of Houston, Clear Lake with over 25 years of professional software development experience. If you are green in programming as well as Scala language, this is a resource that you should hold with both of your hands. The reasons are described next.
The authors designed this resource to be used in first semester college classrooms to teach students beginning programming with Scala. The book focuses on the key topics students need to know in an introductory course, while also highlighting the features that make Scala a great programming language to learn. It is filled with end-of-chapter projects and exercises, and the authors have also posted a number of different supplements on the book website. Video lectures for each chapter in the book are also available on YouTube. The videos show construction of code from the ground up and this type of “live coding” is invaluable for learning to program, as it allows students into the mind of a more experienced programmer, where they can see the thought processes associated with the development of the code.
The pace in the book is appropriate for beginners because programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains, including sophisticated data structures and algorithms. This is a book you should not pass by. Pick it up and begin your Scala journey with the enthusiasm you deserve. Click below to get your copy today:
Introduction to Programming and Problem-Solving Using Scala (Chapman & Hall/CRC Textbooks in Computing)
$63.34 in stock
12 used from $54.46
5. Programming in Scala
Co-authored by Martin Odersky, the designer of the Scala language, this authoritative book will teach you, one step at a time, the Scala language and the ideas behind it. It is carefully crafted to help you learn.
The first few chapters will give you enough of the basics that you can already start using Scala for simple tasks. The entire book is organized so that each new concept builds on concepts that came before-a series of steps that promises to help you master the Scala language and the important ideas about programming that Scala embodies.
A comprehensive tutorial and reference for Scala, this book covers the entire language and important libraries.
This fourth edition brings the entire book up to date, adding new material to cover changes in Scala 2.13, in particular the overhaul of collections. This edition covers these changes in detail, including:
- The new collections type hierarchy
- New concrete collection types
- New methods added to collections
- The new ways to define your own collection types
- The new, simplified views
You cannot afford to miss what the designer of the Scala language has contributed in this book. You have the full confidence that it has the right material and the right stuff for you to study as well as wise counsel and mentorship. This resource is all yours and is waiting for your order at Amazon below:
Programming in Scala
$46.88 in stock
8 used from $33.58
6. Learning Scala
Jason is a Software Engineer in the San Francisco Bay Area, developing Scala applications at Loyal3 and Netflix. In this practical book he wrote, he provides a comprehensive yet approachable introduction to the language, complete with syntax diagrams, examples, and exercises. You will start with Scala’s core types and syntax before diving into higher-order functions and immutable data structures.
Author Jason Swartz demonstrates why Scala’s concise and expressive syntax make it an ideal language for Ruby or Python developers who want to improve their craft, while its type safety and performance ensures that it’s stable and fast enough for any application.
In this book, you will:
- Learn about the core data types, literals, values, and variables
- Discover how to think and write in expressions, the foundation for Scala’s syntax
- Write higher-order functions that accept or return other functions
- Become familiar with immutable data structures and easily transform them with type-safe and declarative operations
- Create custom infix operators to simplify existing operations or even to start your own domain-specific language
- Build classes that compose one or more traits for full reusability, or create new functionality by mixing them in at instantiation
Get the tidbits, skills and experience that Jason exhibits in this practical guide. Click below to find out more about the resource and also to get the shipping details.
Learning Scala: Practical Functional Programming for the JVM
$33.70 in stock
23 used from $13.44
7. Scala Programming for Big Data Analytics
Author Irfan Elahi is a senior consultant in Deloitte Australia specializing in big data and machine learning. His primary focus lies in using big data and machine learning to support business growth with multifaceted and strong ties to the telecommunications, energy, retail and media industries
Herein, you will gain the key language concepts and programming techniques of Scala in the context of big data analytics and Apache Spark. The book begins by introducing you to Scala and establishes a firm contextual understanding of why you should learn this language, how it stands in comparison to Java, and how Scala is related to Apache Spark for big data analytics. Next, you will set up the Scala environment ready for examining your first Scala programs. This is followed by sections on Scala fundamentals including mutable/immutable variables, the type hierarchy system, control flow expressions and code blocks.
Irfan discusses functions at length and highlights a number of associated concepts such as functional programming and anonymous functions. The book then delves deeper into Scala’s powerful collections system because many of Apache Spark’s APIs bear a strong resemblance to Scala collections.
What You Will Learn
- See the fundamentals of Scala as a general-purpose programming language
- Understand functional programming and object-oriented programming constructs in Scala
- Use Scala collections and functions
- Develop, package and run Apache Spark applications for big data analytics
If you are a data scientist, data analyst or data engineer who is intending to use Apache Spark for large-scale analytics, author Irfan Elahi takes you on a road that you will enjoy and learn. You will find it easy to read and comprehend. More details are in Amazon and you can find it on the link below:
Scala Programming for Big Data Analytics: Get Started With Big Data Analytics Using Apache Spark
$27.28 in stock
4 used from $33.97
8. Scala for Data Science
This book will introduce you to the libraries for ingesting, storing, manipulating, processing, and visualizing data in Scala. Packed with real-world examples and interesting data sets, this book will teach you to ingest data from flat files and web APIs and store it in a SQL or NoSQL database. It will show you how to design scalable architectures to process and modelling your data, starting from simple concurrency constructs such as parallel collections and futures, through to actor systems and Apache Spark. As well as Scala’s emphasis on functional structures and immutability, you will learn how to use the right parallel construct for the job at hand, minimizing development time without compromising scalability. Finally, you will learn how to build beautiful interactive visualizations using web frameworks.
This book gives tutorials on some of the most common Scala libraries for data science, allowing you to quickly get up to speed with building data science and data engineering solutions.
Scala for Data Science: Leverage the power of Scala with different tools to build scalable, robust data science applications
7 used from $47.86
Now you have stepping stones you can take advantage of to climb the ladder you have been intending to climb for a while. Pick two or three of them, concentrate, practice and apply in the various examples and problems you will be presented with. Your greatness is on the way so be inspired. Lastly, for visiting the site, we really appreciate and thank you. You’ve been of great support and that is highly appreciated as well.
Other book articles you might benefit from include: