← All open source projects

Scala 2

scala/scala

Scala 2 is the repository for the Scala 2 compiler, standard library, and language specification.

Forks 3,082
Author scala
Language Scala
License Apache-2.0
Synced 2026-06-27

In Short

scala/scala is the home of Scala 2: the compiler, standard library, and language specification live here, while Scala 3 has a separate repository.

What It Is

Scala 2 is a JVM language that combines object-oriented and functional programming. The scala/scala repository is specifically for the Scala 2 line.

What Is Inside

It contains the compiler, standard library, language specification, tests, and build infrastructure. Scala 3 is developed in the separate scala/scala3 repository.

How People Use It

Scala 2 remains present in large codebases, especially around the Akka ecosystem, Spark, backend services, and libraries where types, collections, and JVM compatibility matter.

Example

Typed Function

Scala syntax is shown as plain text: the example demonstrates a concise function and collection work.

Language: Plain text
def activeNames(users: List[User]): List[String] =
  users.filter(_.active).map(_.name)

Strengths

Scala 2’s strength is expressiveness. The language supports rich abstractions, JVM libraries, and both object-oriented and functional styles.

Limits

The limitation is complexity. Language richness requires discipline: overly clever types, implicits, and DSLs can make code hard for a team.

Project Context

Scala 2 is maintained in the scala/scala repository; its public history starts on 2011-12-01. The primary metadata language is Scala, and the license is Apache-2.0. The project also has a dedicated site: https://www.scala-lang.org/.

This context keeps the page grounded in a specific repository: the project has an owner, technical base, license, change history, and real constraints of its ecosystem.

Scala 2 should be evaluated through a concrete scenario: who will maintain it, where it fits in the existing stack, which updates must be tracked, and what happens if it fails. That view is more useful than installing a project just because it is popular, because open source helps only when its role in the system is clear to the team.