Scala logo

Scala

A pure-bred object-oriented language that runs on the JVM
6.5K
4.9K
+ 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 13.1K GitHub stars and 3K GitHub forks. Here’s a link to Scala's open source repository on GitHub

Who uses Scala?

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

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

Scala Integrations

Java, Sentry, Slick, Auth0, and Algolia are some of the popular tools that integrate with Scala. Here's a list of all 44 tools that integrate with Scala.
Pros of Scala
187
Static typing
177
Pattern-matching
177
Jvm
170
Scala is fun
137
Types
93
Concurrency
88
Actor library
84
Solve functional problems
83
Open source
80
Solve concurrency in a safer way
42
Functional
22
Generics
22
Fast
17
It makes me a better engineer
15
Syntactic sugar
12
Scalable
10
Type safety
10
First-class functions
9
Interactive REPL
8
Expressive
7
SBT
6
Implicit parameters
6
Case classes
4
Rapid and Safe Development using Functional Programming
4
Object-oriented
4
JVM, OOP and Functional programming, and static typing
4
Used by Twitter
3
Functional Proframming
2
Beautiful Code
2
Safety
2
Spark
2
Growing Community
1
DSL
1
Rich Static Types System and great Concurrency support
1
Naturally enforce high code quality
1
Mill build tool
1
Akka Streams
1
Akka
1
Reactive Streams
1
Easy embedded DSLs
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.

Shared insights
on
JavaJavaScalaScalaApache 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

Blog Posts

Aug 28 2019 at 3:10AM
https://img.stackshare.io/stack/505487/default_e35b8bd5e615e01dc9b420dbd2a444fcbaeff755.png logo

Segment

PythonJavaAmazon S3+16
5
1895
DockerAmazon EC2Scala+8
6
2146

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!
Go
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
4920 developers follow Scala to keep up with related blogs and decisions.