Short for Scalable Language, Scala is becoming one of the most popular programming languages along with Java and Python. In fact, it has been ranked as the hottest programming language to learn recently. Scala runs on the JVM, Java and Scala stacks, leading to seamless integration and is accompanied by advanced features such as currying, type inference, immutability, lazy evaluation, and pattern matching. As a result, many big tech companies like Netflix and Airbnb have a strong bet on Scala, according to Zach Wilson, tech lead at Airbnb, in a recent YouTube video. In addition, the language allows data engineers to adopt a software engineering mindset. With more and more engineers jumping onto wanting to learn this language, Analytics India Magazine has created a list of the top online courses, books and YouTube videos to help them excel.
Top online courses
Scala: The Big Picture on Pluralsight
The perfect course for beginners, this Scala program on Pluralsight teaches the language from scratch. The course includes the language basics, syntax, functions, pattern matching and concurrent programming. It promises students will know how to solve any problems using Scala by the end. Instructor Harit Himanshu is an engineer with a masters in computer science and has been a professor for over four years.
Find the course here.
AIM Daily XO
Join our editors every weekday evening as they steer you through the most significant news of the day, introduce you to fresh perspectives, and provide unexpected moments of joy
Your newsletter subscriptions are subject to AIM Privacy Policy and Terms and Conditions.
Functional Programming Principles in Scala on Coursera
A part of the Functional Programming in Scala Specialisation on Coursera, this foundational part focuses on the elements of Scala and how they can be applied to daily programming tasks. The lectures also focus on reasoning about functional programming, proofs of invariants and execution of the languages. Students will get a broad-based understanding of the subject through a hands-on course with short programmes to illustrated examples. At least one year of programming is expected for the course. Instructor Martin Oderskey was one of the creators of Scala himself.
Find the course here.
Download our Mobile App
Scala & Functional Programming for Beginners on Udemy
Catered towards programmers with a basic understanding of Python or C++, this course will teach you applications with Scala. While it invites Scala beginners, the course expects students to understand coding and languages. In a mixture of practical and theoretical understanding, the course is taught with code examples, real-life Scala code demos and assignments with additional readings. Instructor Daniel Ciocîrlan is a software engineer with four years of teaching experience.
Find the course here.
Advanced Scala and Functional Programming on Udemy
Catered towards users with an intermediate to advance understanding of Scala, this course teaches “the tricks used by the top 1% of Scala developers.” Students will learn to design complex and scalable systems, exercise existing tools or write their own codes. In fact, it promises the students will write 2000+ lines of Scala code themselves. The course is an extension of the previous course by Instructor Daniel Ciocîrlan.
Find the course here.
Best Books
Programming in Scala by Bill Venners and Martin Odersky
Tagged as “the definitive book on Scala”, this book is co-authored by Martin Odersky, the designer of the Scala language. The story talks about Scala, its craft and how individuals can learn and use it. It takes a step-by-step approach, building on previous concepts to ensure the users can leverage the language as soon as possible.
Find the book here.
Learning Scala: Practical Functional Programming for the JVM, Jason Swartz
Authored by Swartz, engineering manager at Stripe with experience with Netflix and Twitch, this book looks at a step-to-step exploration of Java Virtual Machine. Filled with diagrams and visuals, this book is catered towards both beginners and industry enthusiasts to learn about the core Scala syntax and its OO models with examples and solutions to build expertise in the language.
Find the book here.
Scala for the Impatient by Cay S. Horstmann
Authored by a professor of computer science at San Jose State University, this is a very popularly regarded book for programmers wanting to learn Scala quickly. Horstmann has written several books on computer science, and in this book, he introduces the key concepts and techniques to learn and apply the language.
Find the book here.
Hands-On Data Analysis with Scala by Rajesh Kumar Gupta
With an MS in computer science from BITS Pilani, Rajesh Kumar Gupta has been a senior data engineer at various organisations. Drawing from his experience architecting and deploying scalable data solutions using Scala, this book talks about his knowledge with examples. The book is catered towards data scientists wanting to leverage Scala libraries for better data analysis.
Find the book here.
YouTube tutorials
Demystifying Scala by Kelley Robinson
A recording from the Go-To conference in 2017, Kelley Robinson, Engineering Team Lead at Sharethrough, gives a basic understanding of the language; what it is, why it is chosen, the pros and cons, and how individuals can get their start in leveraging Scala.
Find the talk here.
Scala at lightspeed by Rock the JVM
Known for their online courses for Scala, this YouTube playlist is the perfect series of intermediate deep dives into the programming language. Through seven half an hour videos and hands-on coding exercises, the mini-series teaches the basics and moves onto Scala-specific features, case classes and pattern matching, and asynchronous programming.
Find the tutorial here.
Scala tutorial full course by Telusko
Navin Reddy, a Java trainer and now online instructor, teaches this one-and-a-half-hour course and gives starters all the basic understandings they need. The video covers setting up Scala, first code, defining variables, class and object, type hierarchy, creating methods, complex objects, tuples and much more.
Find the tutorial here.