Què és Scala?

Scala és un llenguatge de programació de propòsit general que combina característiques de la programació orientada a objectes i la programació funcional. Va ser creat per Martin Odersky i es va llançar per primera vegada el 2003. Scala és conegut per la seva capacitat de ser concís, expressiu i per la seva interoperabilitat amb Java.

Característiques Clau de Scala

  1. Interoperabilitat amb Java: Scala es compila a bytecode de Java, el que permet que el codi Scala s'executi en la màquina virtual de Java (JVM). Això significa que pots utilitzar biblioteques Java dins de Scala i viceversa.
  2. Programació Orientada a Objectes: Tot en Scala és un objecte, incloent-hi els tipus i les funcions.
  3. Programació Funcional: Scala suporta funcions com a ciutadans de primera classe, permetent la creació de funcions anònimes, funcions d'ordre superior, i més.
  4. Tipus Estàtic: Scala té un sistema de tipus estàtic fort que ajuda a detectar errors en temps de compilació.
  5. Concís i Expressiu: Scala permet escriure codi més concís i expressiu en comparació amb altres llenguatges com Java.

Per què Aprendre Scala?

  • Productivitat: La sintaxi concisa i les característiques avançades de Scala poden augmentar la productivitat del desenvolupador.
  • Interoperabilitat amb Java: Si ja coneixes Java, Scala et permetrà aprofitar el teu coneixement existent i les biblioteques de Java.
  • Popularitat en Big Data: Scala és el llenguatge principal per a Apache Spark, una de les eines més populars per al processament de Big Data.
  • Comunitat i Suport: Scala té una comunitat activa i una gran quantitat de recursos d'aprenentatge disponibles.

Història de Scala

Scala va ser desenvolupat per Martin Odersky i el seu equip a l'École Polytechnique Fédérale de Lausanne (EPFL) a Suïssa. La primera versió de Scala es va llançar el 2003, i des de llavors ha evolucionat significativament. Algunes fites importants en la història de Scala inclouen:

  • 2003: Llançament de la primera versió de Scala.
  • 2006: Llançament de Scala 2.0, que va introduir moltes millores i noves característiques.
  • 2011: Scala es converteix en el llenguatge principal per a Apache Spark.
  • 2016: Llançament de Scala 2.12, amb millores en la interoperabilitat amb Java 8.
  • 2020: Llançament de Scala 3.0, una revisió important del llenguatge amb moltes noves característiques i millores.

Exemples de Codi en Scala

A continuació es mostren alguns exemples bàsics de codi en Scala per donar-te una idea de la seva sintaxi i característiques.

Hola, Món!

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hola, Món!")
  }
}

Definició d'una Classe

class Persona(val nom: String, val edat: Int) {
  def saluda(): Unit = {
    println(s"Hola, el meu nom és $nom i tinc $edat anys.")
  }
}

val persona = new Persona("Joan", 30)
persona.saluda()

Funció Anònima

val suma = (a: Int, b: Int) => a + b
println(suma(3, 5)) // Sortida: 8

Funció d'Ordre Superior

def aplicaFuncio(f: Int => Int, x: Int): Int = f(x)

val doble = (x: Int) => x * 2
println(aplicaFuncio(doble, 4)) // Sortida: 8

Exercici Pràctic

Exercici 1: Crear una Classe Simple

Crea una classe Cotxe amb els següents atributs: marca (String), model (String) i any (Int). Afegeix un mètode descripcio que imprimeixi una descripció del cotxe.

Solució

class Cotxe(val marca: String, val model: String, val any: Int) {
  def descripcio(): Unit = {
    println(s"Aquest és un $marca $model de l'any $any.")
  }
}

val cotxe = new Cotxe("Toyota", "Corolla", 2020)
cotxe.descripcio() // Sortida: Aquest és un Toyota Corolla de l'any 2020.

Conclusió

En aquesta introducció a Scala, hem explorat les característiques clau del llenguatge, la seva història i alguns exemples bàsics de codi. Scala és un llenguatge potent i versàtil que combina els millors aspectes de la programació orientada a objectes i la programació funcional. En els següents mòduls, aprofundirem en la configuració de l'entorn de desenvolupament i els conceptes bàsics de Scala.

© Copyright 2024. Tots els drets reservats