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 X, 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.
  • Its 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: