object-oriented and functional programming (https://www.scala-lang.org/) • Concise – Modern, compact syntax – Powerful type inference • Fully interoperable with Java and JavaScript (Scala.js) – Also: beta version of native code compiler (Scala Native) • About as fast as Java • Pushes the boundaries of what is possible to express in a type-safe way given the above properties of the language 1
excellent choice for implementing interpreters and type checkers – This is the main task in the labs – Language features of particular interest: case classes and pattern matching, tuples, higher-order functions, etc. • Scala has received the highest international award for its significant impact on both industrial software development and programming language research (ACM SIGPLAN Programming Languages Software Award) • In addition, learning a new language… – is beneficial when studying the principles of programming languages – can make you a better programmer, regardless of the languages you are going to use for future tasks 2
Go, Kotlin and Rust Source: Stephen O’Grady, The RedMonk Programming Language Rankings: June 2021 https://redmonk.com/sogrady/2021/08/05/language-rankings-6-21/ Latest RedMonk Ranking (June 2021)
at EPFL, Switzerland, (https://scala.epfl.ch/) dedicated to the continued development and maintenance of Scala – Open-source software development – Education via Massive Open Online Courses (MOOCs) • Advisory board members: – 47 Degrees, Databricks, Goldman Sachs, Lightbend, Lunatech, VirtusLab, Spotify, Twitter • Other prominent Scala users: – Airbnb, Apple, Klarna, Lego, Microsoft, Morgan Stanley, Netflix, PayPal, Shopify, Starbucks, Tesla, Verizon, Walmart, Walt Disney, Zalando 5