Skip to content

Latest commit

 

History

History
112 lines (93 loc) · 15 KB

resources.md

File metadata and controls

112 lines (93 loc) · 15 KB

Scala Community

The "official" Scala Community page lists popular ways to connect with the Scala community including:

  • Mailing Lists
  • Chat Rooms
  • User Groups
  • Conferences
  • Stack Overflow
  • Reddit
  • Sources of Scala News
  • Community-powered learning resources
  • Community Libraries and Tools

Additional Resources

The learning resources provided below are classified two ways:

  • by cost:
    • Free
    • Paid
  • by learning level required:
    • Intro - no prior experience is required
    • Intermediate - you know the basics
    • Advanced - you know the language or where to get help

While the learning level shown is the suggested starting knowledge level for the resource, the resource may contain a progression of material that covers more advanced topics.

Free Introductory Resources

Resource Source Description
Scala Standard Documentation EPFL Getting Strarted, Overviews/Guides, Tutorials, API - Scaladocs, Language Specification, Glossary, Cheatsheets, Style Guide, and more.
A Tour of Scala EPFL Bite-size pieces of the essentials.
Programming in Scala, 1st Edition - free online Martin Odersky, Lex Spoon, and Bill Venners The "Stairway" Book - This book is the authoritative "step-by-step" tutorial on the Scala programming language, co-written by the language's designer, Martin Odersky. The main target audience for this book is programmers who want to learn to program in Scala.General programming knowledge is assumed. The Third Edition is now available for purchase. It has been updated to cover new features up to and including Scala version 2.12
About Scala and Scala Tutorial stackoverflow An aggregate of stackoverflow questions, plus links to other resources. An online book of information.
Learning Scala in Small Bites Matt Might To help learn Scala faster, a series of small examples, each of which highlights one or two aspects of the language.
The Beginner's Guide to Learning Scala Bold Radius This step-by-step guide will walk you through learning Scala from scratch on your own. We've pulled together the best, most trusted resources from industry experts on each topic to make sure that you're spending your time efficiently and learning Scala the right way.
Scala Cookbook Alvin Alexander Contains direct links to Scala Cookbook recipes, which are now available on author's website.
Atomic Scala Mindview This book teaches the Scala language to both programming beginners and those who have already programmed in another language. The first 100+ pages of the book are available as a PDF download.
Scala Programming for Data Science Big Data University Free training from Lightbend for "aspiring or seasoned Data Scientist (or Data Engineer) who is planning to work with Apache Spark to tackle Big Data with ease."
Creative Scala Underscore Creative Scala is aimed at developers who have no prior experience in Scala. It is designed to give you a fun introduction to functional programming. The course textbook is free, complete with exercises and solutions.
LearnXinYMinutes where X=Scala LearnXinYMinutes Take a whirlwind tour of Scala. Community-driven!
Ninety-Nine Scala Problems Phil Gold An adaptation of the Ninety-Nine Prolog Problems written by Werner Hett at the Berne University of Applied Sciences in Berne, Switzerland, altered to be more amenable to programming in Scala.
Scala Koans Scala Koans Koans are small lessons on the path to enlightenment. The aim of the Scala Koans project is to provide an easy learning environment in Scala. Your insight will be derived by encountering failing tests and fixing them so that they pass. A testing framework is used to simplify this process and to get you off to a good start with using Scala.
Getting Started with Scala Tutorial udemy blog Basic Scala Introduction using IntelliJ IDEA. Includes setup instructions for IDEA.
Scala for the Impatient Cay S. Horstmann A rapid introduction to Scala for programmers who are competent in Java, C#, or C++. “Currently the best compact introduction to Scala” —Martin Odersky Lightbend provides a free download of Chapters 1-11, 139 pages. Chapters 14, 16, 17, 19 are also available.
12 ScalaTest tutorials Alvin Alexander 12 Scalatest tutorials that didn't make it into Scala Cookbook
Scala Best Practices Alexandru Nedelcu A collection of best practices, friendly to people that want to contribute.
Scala Cheatsheet Marko Bonaći One huge Scala reference card. Based on Programming in Scala, 2nd edition.
Scala Cheatsheet GitHub Repo CheatSheet for the scala language
Resources for Getting Started with Functional Programming and Scala Kelsey Innis This is the “secret slide” from my recent talk Learning Functional Programming without Growing a Neckbeard, with links to the sources I used to put the talk together and some suggestions for ways to get started writing Scala code.
Scala exercises at exercism.io exercism.io Download and solve practice problems. Submit the solution to the site for feedback. For code newbies and experienced programmers.

Free Intermediate Resources

Resource Source Description
Scala by Example - PDF EPFL Takes you through the Scala features with many examples. It does assume that you are already familiar with the basic Scala syntax and a basic understanding of functional programming. It is an excellent way to expand your knowledge and skill.
The Neophyte's Guide to Scala Daniel Westheide A blog series targeted at aspiring Scala enthusiasts who have already made their first steps with the language and are looking for more detailed explanations.
Coursera Scala Specialization Scala Center A new Scala mini-degree offered on Coursera. Composed of: 4 courses, one capstone project - A significant 4-5 week long final programming project. Note: only the first 3 courses are currently available.
Scala Tutorial Through Katas Victor Farcic A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

Free Advanced Resources

Resource Source Description
Functional Programming in Scala Paul Chiusano and Rúnar Bjarnason Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. Lightbend provides 2 sample chapters for free and a promotional 40% off the purchase price at Manning.

Paid Introductory Resources

Resource Source Description
udemy Scala courses udemy Search results for all Scala courses
Introduction to Scala ScalaCourses.com This Introduction to Scala course covers the fundamentals and is designed to give you a variety of hands-on experiences with Scala. The unique features of Scala are introduced, including object-oriented and functional aspects. Software tools are discussed in detail, including SBT, both leading IDEs (IntelliJ IDEA and Scala-IDE), and several options for programming Scala without an IDE. Exercises are provided throughout that reinforce the lecture material.

Paid Intermediate Resources

Resource Source Description
Books, Videos, and Training Courses at underscore Underscore A variety of books, videos and training classes, including Essential Scala, Advanced Scala with Cats, Essential Shapeless, Essential Play, Essential Slick, Essential Lift, Essential Distributed Systems, and Essential Scala Macros.
Programming Scala, 2nd Edition Dean Wampler A comprehensive and up-to-date introduction to Scala. It covers the features of Scala version 2.11.
Intermediate Scala ScalaCourses.com This Intermediate Scala course builds on the Introduction to Scala course. Many concepts and techniques are introduced, with lots of working code examples and exercises, including functional programming, implicits, process control, I/O, collections, pattern matching, combinators, partial functions, application configuration techniques, memoization, and multithreading (including parallel collections, Futures, Promises and Akka Actors).
Modern Web Development with Scala Denis Kalinin This book takes a very practical approach to teaching Scala. It begins by showing you just enough basics to get started and then guides you through the process of building a technology-packed real-world Web application using popular backend and frontend technologies.

Paid Advanced Resources

Resource Source Description
Functional Programming in Scala Paul Chiusano and Rúnar Bjarnason Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. Lightbend provides 2 sample chapters for free and a promotional 40% off the purchase price at Manning.
Mastering Advanced Scala Denis Kalinin This book goes beyond simple Scala usage and covers some advanced topics. It explores techniques and libraries that are usually considered non-trivial and shows why they are useful in real projects.
Introduction to Play Framework for Scala ScalaCourses.com This "Introduction to Play with Scala" course covers the fundamentals of Play Framework for Scala programmers. Exercises are provided throughout that reinforce the lecture material. The material builds from lecture to lecture, so be sure to go through the material from start to finish. Several complete working sample Play Framework projects are provided and discussed in detail.

Other Information Resources

Online Coding

Resource Source Description
ScalaFiddle ScalaFiddle is an online playground for writing and sharing Scala code.
ScalaFiddle Provides online scala console
Scala Kata Guillaume Massé Scala Kata is an interactive playground.

Blogs and Newsletters

Resource Source Description
This week in #Scala Cake Solutions Team Blogs This blog aims to keep you up to date with the latest news from the world of Scala and Reactive programming.
Scala Tutorials Java Code Geeks Scala Tutorial Blog Posts

References

Resource Source Description
Awesome Scala at Libhunt LibHunt Awesome Scala is a community effort. The primary listings are based on the Scala Community listed Awesome Scala list at GitHub. Also home of Awesome Scala Newsletter.
Scala Coding Style Guide Databricks This guide draws from our experience coaching and working with engineers contributing to Spark as well as our Databricks engineering team.
Lightbend e-Books Lightbend A variety of free e-books and chapter downloads
Scala on Zeef Ivano Pagano at Zeef This aims to be a comprehensive reference to all scala-related resources I collected through the years. Look elsewhere if you need a shorter or more focused compendium.