Scala
/SKAH-luh/ · noun · Development · Origin: 2004
Definitions
A JVM language that fuses object-oriented and functional programming with a powerful type system. Scala gained prominence as the language behind Apache Spark and the Akka framework, though its complexity and slow compile times have been persistent criticisms.
In plain English: A programming language that combines two different programming styles and runs on Java's platform, popular for big data processing.
Example: Our Spark jobs are all in Scala, and every code review turns into a debate about whether to use for-comprehensions or flatMap chains.
Origin Story
A portmanteau of 'scalable' and 'language' that actually scales
Martin Odersky at EPFL (Swiss Federal Institute of Technology in Lausanne) designed Scala as a language that fuses object-oriented and functional programming. He released it in 2004 after years of research on languages like Pizza and GJ (which became Java generics).
The name **Scala** is a portmanteau of **"scalable language"** -- designed to grow with the demands of its users. It's also the Italian word for "staircase" or "ladder," suggesting a step-by-step ascent to better programming.
Scala found its killer app when Twitter adopted it in 2009 to replace Ruby on Rails for their backend. LinkedIn, Netflix, and the Apache Spark framework followed. Scala proved that functional programming concepts could thrive on the JVM at industrial scale.
Coined by: Martin Odersky
Context: EPFL, Lausanne, Switzerland, 2004
Fun fact: Odersky co-designed Java generics (javac compiler) before creating Scala. He has joked that Scala is 'what Java would have been if it had been designed today.'