Scala logo

Scala

A pure-bred object-oriented language that runs on the JVM
10.9K
7.7K
+ 1
1.5K

What is Scala?

Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Scala is a tool in the Languages category of a tech stack.
Scala is an open source tool with 14.4K GitHub stars and 3.1K GitHub forks. Here’s a link to Scala's open source repository on GitHub

Who uses Scala?

Companies
988 companies reportedly use Scala in their tech stacks, including Twitter, Nubank, and Delivery Hero.

Developers
8567 developers on StackShare have stated that they use Scala.

Scala Integrations

Java, Sentry, Slick, Jupyter, and Auth0 are some of the popular tools that integrate with Scala. Here's a list of all 55 tools that integrate with Scala.
Pros of Scala
188
Static typing
178
Pattern-matching
175
Jvm
172
Scala is fun
138
Types
95
Concurrency
88
Actor library
86
Solve functional problems
81
Open source
80
Solve concurrency in a safer way
44
Functional
24
Fast
23
Generics
18
It makes me a better engineer
17
Syntactic sugar
13
Scalable
10
First-class functions
10
Type safety
9
Interactive REPL
8
Expressive
7
SBT
6
Case classes
6
Implicit parameters
4
Rapid and Safe Development using Functional Programming
4
JVM, OOP and Functional programming, and static typing
4
Object-oriented
4
Used by Twitter
3
Functional Proframming
2
Spark
2
Beautiful Code
2
Safety
2
Growing Community
1
DSL
1
Rich Static Types System and great Concurrency support
1
Naturally enforce high code quality
1
Akka Streams
1
Akka
1
Reactive Streams
1
Easy embedded DSLs
1
Mill build tool
0
Freedom to choose the right tools for a job
Decisions about Scala

Here are some stack decisions, common use cases and reviews by companies and developers who chose Scala in their tech stack.

Needs advice
on
ScalaScala
and
Apache SparkApache Spark

I am new to Apache Spark and Scala both. I am basically a Java developer and have around 10 years of experience in Java.

I wish to work on some Machine learning or AI tech stacks. Please assist me in the tech stack and help make a clear Road Map. Any feedback is welcome.

Technologies apart from Scala and Spark are also welcome. Please note that the tools should be relevant to Machine Learning or Artificial Intelligence.

See more
Needs advice
on
GradleGradle
and
SBTSBT

What are the advantages of using Gradle over SBT for Scala projects? Currently, I am doing POC between Gradle and SBT.

See more
Leonardo Viada
Project manager and web developer at Revo Digital · | 4 upvotes · 2.7M views
Needs advice
on
PlayPlayRailsRails
and
ScalaScala
at

In the past few months, a project we're working on grew up quite fast. Since we're adding more and more features, I'm considering migrating my Express/TS REST API towards a more solid and more "enterprise-like" framework. Since I am experienced with TypeScript but not so much with Rails nor Play (Scala), I'd like to have some advice on which one could provide the best development experience, and most importantly, the smoothest paradigm transition from the JS/TS world. I've worked on some personal project with Rails, but I've found the Ruby language really distant from what the TypeScript ecosystem and syntax are, whereas on the opposite - during the brief tours I've taken in the past weeks - it's been a pleasure coding in Scala. Obviously, there are some key differences between the two languages - and the two frameworks consequently - but despite all the ROR automation and ease of use I don't despise at all Scala's pragmatic and great features such as static typing, pattern matching, and type inference. So... Please help me out with the choice! Regards

See more

Blog Posts

Aug 28 2019 at 3:10AM

Segment

PythonJavaAmazon S3+16
7
2623
DockerAmazon EC2Scala+8
6
2758

Scala Alternatives & Comparisons

What are some alternatives to Scala?
Kotlin
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Clojure
Clojure is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
See all alternatives

Scala's Followers
7743 developers follow Scala to keep up with related blogs and decisions.