OVERVIEW:

Write beautiful, powerful code

The Language of Pragmatism

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala smoothly integrates features of object-oriented and functional languages, enabling developers to be more productive while retaining full interoperability with Java and taking advantage of modern multicore hardware. Scala makes it easy to avoid shared state, so that computation can be readily distributed across cores on a multicore server, and across servers in a datacenter. This makes Scala an especially good match for modern multicore CPUs and distributed cloud-computing workloads that require concurrency and parallelism.

Productive

Thanks to its type inference and other features, Scala is a succinct language, typically enabling developers to reduce the size of source code by at least a factor of 2 or 3 compared to Java. Scala is bundled with a rich set of developer tools, resulting in productivity comparable to languages like Ruby or Python, while retaining the performance advantages of Java.

Scala allows us to write better, more beautiful code, and it just makes us better engineers. It strikes the balance between conciseness, expressiveness and practicality, and you can do amazingly complex things with few lines of code.
- Wix

Scalable

Scala emphasizes scalability - large development teams, large codebases, and large numbers of CPU cores. Adapting to a multicore and distributed computing world, the Typesafe Reactive Platform pairs Scala with an industrial-strength implementation of the Actor concurrency model, called Akka.

Interoperable with Java

Since Scala is a JVM language, all of your existing Java libraries and tools can be used seamlessly, ensuring that previous investments are fully protected. Furthermore, you’re able to fully leverage your developers Java programming skills as they become proficient with Scala.

Scala programs are compiled directly to Java bytecode that runs on the extremely mature JVM, and leverages the JVM’s robust just-in-time compilation, garbage collection, and well-understood deployment techniques. The operations team won’t see a difference. Developers keep working in their familiar tools. But they’re writing code that’s shorter, faster, more scalable, more correct, and even more fun.

The Scala programming language was originally developed by Typesafe co-founder Martin Odersky's research group at EPFL.

GETTING STARTED:

To get started with Scala, we recommend checking out the following resources:

Scala Code Samples & Tutorials

Hello Scala 2.11 Activator Template

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. This very simple Scala application will get you started building and testing standalone Scala apps. This app uses Scala 2.11 and ScalaTest.

DETAILS

Atomic Scala Examples Activator Template

The Atomic Scala Examples Activator template is a companion to Atomic Scala, by Bruce Eckel, but is useful in its own right. The template takes each of the examples in the book and provides them in an executable and easily runnable form. If you want to help someone to learn to program using Scala, here’s your template.

DETAILS

Play Scala Intro Activator Template

An introduction to create a simple CRUD application with Play Scala

DETAILS

Scala Reading Materials

Dzone Refcard for Scala

This Refcard is the essential Scala cheat sheet, taking you through a intro tour of the language and its features.

DOWNLOAD NOW

Atomic Scala

This should be your first Scala book, not your last. Dianne Marsh and Bruce Eckel show you enough to become familiar and comfortable with the language – competent, but not expert. You’ll write useful Scala code, but you won’t necessarily be able to read all the Scala code you encounter.

DOWNLOAD NOW

Scala for the Impatient

Cay Horstmann does for Scala what he did for Java in his global best-seller Core Java: he offers a rapid, code-based introduction that's relentlessly practical and 100% useful. Every concept and technique in Scala for the Impatient is presented in "blog-size" chunks that can be digested quickly and reviewed as needed for specific tasks.

DOWNLOAD NOW

Scala in Depth

Scala in Depth, by Senior Typesafe Engineer, Josh Suereth, is a unique new book designed to help you integrate Scala effectively into your development process. By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example.

DOWNLOAD NOW

Scala Videos & Webinars

Welcome to Scala 2.11

The Scala team at Typesafe has been busy over the last year working to make the platform faster, smaller, and more stable, as well as continuing to refine experimental language features. In this webinar, the Scala team will take you on a tour of these changes, give you tips for upgrading, discuss the plans for the upcoming releases and field your questions.

WATCH NOW

Scala: The Simple Parts

Martin Odersky, creator of Scala, takes you on a journey to what he views as the core of the language. The core is built from a moderate number of general and orthogonal concepts that can be combined freely. The parts are simple, but the combinations can be as elaborate s one wants to make them.This keynote from Scala Days 2014 covers how, when done right, simple parts in the language lead to libraries that have clear interfaces and can be used in flexible ways.

WATCH NOW

Scala Testing

Want to learn more about how to write unit tests in Scala? Learn from Typesafe consultant Kip Sigman as he addresses the basics for getting started and setting up your tools.

WATCH NOW

Deep Dive into the Typesafe Reactive Platform - Akka and Scala

In this episode of the "Deep Dive in to the Typesafe Reactive Platform" series, Nilanjan Raychaudhuri walks you through building Reactive apps with Akka and Scala. He will expand on both projects and outline how they support the Typesafe Platform.

WATCH NOW

Scala Success Stories

Improved Scaling with Scala and Akka! - WhitePages

By replacing Perl and Ruby applications with Scala-based code and an Akka runtime environment, the WhitePages team was able to deliver order of magnitude improvements in application speed and hardware utilization.

READ THE CASE STUDY

Powering Partner APIs with Scala - Netflix

In this video, Manish Pandit gives an in-depth talk about how Netflix uses Scala from a TDD and 3rd party API perspective followed by a section about their git workflow.

WATCH NOW

From 5 to 50 Million Users and Beyond - Wix

Read why Wix chose Scala and the Typesafe Reactive Platform as they planned for its next phase of growth, from 5 million to 50 million users.

READ THE CASE STUDY

Typesafe aids in managing cable operations - CCAD

Scaling developer productivity, improving code quality and removing locking and contention were reasons that influenced CCAD’s decision to move away from the traditional Java-based stack they were using to look for more sustainable alternatives. The Typesafe Reactive Platform assisted CCAD in addressing these issues, and enabled process changes elsewhere in the organization that improved overall product quality too.

READ THE CASE STUDY

Here are some additional ideas on how to get started:

Visit the Typesafe Resource Center or Go Typesafe
Read the full documentation
Visit the community website
Follow Scala on Twitter
Participate on Stack Overflow
Join the Mailing List
Contribute at GitHub

SUBSCRIPTION:

Ensure the Success of Your Scala Application

If you plan to develop a commercial application, your business could benefit from a relationship with Typesafe. The Typesafe Together annual subscription program is designed to mitigate risk and ensure the successful launch and operation of your application by delivering certified builds and amazing service throughout the entire project lifecycle—from prototyping to production.

LEARN MORE ABOUT SUBSCRIPTIONS