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.
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.
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.
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 ScalaDETAILS
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
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
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
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