Scala Book

Scala Features

Language

The name Scala comes from the word scalable, and true to that name, it’s used to power the busiest websites in the world, including Twitter, Netflix, Tumblr, LinkedIn, Foursquare, and many more.

Here are a few more nuggets about Scala:

  • It’s a modern programming language created by Martin Odersky (the father of javac), and influenced by Java, Ruby, Smalltalk, ML, Haskell, Erlang, and others.
  • It’s a high-level language.
  • It’s statically typed.
  • It has a sophisticated type inference system.
  • It’s syntax is concise but still readable — we call it expressive.
  • It’s a pure object-oriented programming (OOP) language. Every variable is an object, and every “operator” is a method.
  • It’s also a functional programming (FP) language, so functions are also variables, and you can pass them into other functions. You can write your code using OOP, FP, or combine them in a hybrid style.
  • Scala source code compiles to “.class” files that run on the JVM.
  • Scala also works extremely well with the thousands of Java libraries that have been developed over the years.
  • A great thing about Scala is that you can be productive with it on Day 1, but it’s also a deep language, so as you go along you’ll keep learning, and finding newer, better ways to write code. Some people say that Scala will change the way you think about programming (and that’s a good thing).
  • A great Scala benefit is that it lets you write concise, readable code. The time a programmer spends reading code compared to the time spent writing code is said to be at least a 10:1 ratio, so writing code that’s concise and readable is a big deal. Because Scala has these attributes, programmers say that it’s expressive.

Contributors to this page: