Vai al contenuto principale

Guida per principianti a Scala

Impara le basi di Scala, inclusa la sintassi, come configurare un ambiente e i vari tipi di dati comuni.
Aggiornato 29 set 2026  · 6 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Introduzione

logo scala

Scala è stato progettato da Martin Odersky, professore all’École Polytechnique Fédérale de Lausanne (EPFL) in Svizzera e informatico tedesco. Martin ha iniziato a lavorare su Scala nel 2001 e il primo rilascio risale al 2004.

Scala sta per Scalable Language. È un linguaggio general-purpose, orientato agli oggetti, che condivide alcune caratteristiche con il linguaggio Java. Fornisce supporto alla programmazione funzionale. Molte delle decisioni progettuali di Scala miravano a risolvere gli svantaggi del linguaggio Java.

Ecco alcune funzionalità offerte da Scala:

  • Il codice sorgente Scala può essere compilato in bytecode Java e, quindi, eseguito su una Java Virtual Machine (JVM).

  • Offre interoperabilità con Java, così che le librerie scritte in entrambi i linguaggi possano essere utilizzate in un codebase Scala o Java.

  • Come Java, anche Scala utilizza una sintassi con parentesi graffe.

  • Include molte caratteristiche dei linguaggi di programmazione funzionale come Scheme, Standard ML e Haskell, tra cui currying, inferenza dei tipi, immutabilità, valutazione pigra e pattern matching.

  • Supporto per applicazioni Web tramite JavaScript.

  • A differenza di Java, Scala supporta anche l’overloading degli operatori, i parametri opzionali, i parametri nominati e le stringhe raw.

Un fatto interessante su Scala è che è ampiamente utilizzato da aziende come Apple, Twitter, Walmart e Google grazie alla sua scalabilità e alla possibilità di impiegarlo nelle operazioni di backend.

Configurare Scala in Jupyter Notebook

Jupyter Notebook è uno degli strumenti più usati in informatica, soprattutto nell’ambito data science. Supporta anche lo sviluppo in Scala grazie a spylon-kernel.

Nota: Se sei alle prime armi con Jupyter Notebook, dai pure un’occhiata a questo tutorial completo.

Configurare l’ambiente Scala in Jupyter Notebook non è affatto complicato. Vediamo come farlo in pochi passaggi.

  • Per prima cosa, installa spylon-kernel.

    pip install spylon-kernel (Python 2)
    pip3 install spylon-kernel (Python 3)

  • Poi crea una specifica di kernel che ti permetta di selezionare il scala-kernel in Jupyter Notebook.

    python -m spylon_kernel install (Python 2)
    python3 -m spylon_kernel install (Python 3)

  • Quindi, come passaggio importante, installa pyspark e findspark poiché spylon-kernel installa anche alcuni componenti di spark.

    pip install pyspark findspark (Python 2)
    pip3 install pyspark findspark (Python 3)

  • Infine, avvia Jupyter Notebook, scegli come kernel spylon-kernel e sei pronto per iniziare!

esempio di jupyter notebook

  • Eseguiamo un piccolo pezzetto di codice per verificare che il kernel Scala sia stato configurato correttamente.
val x = 2
val y = 3
x*y
x: Int = 2
y: Int = 3
res1: Int = 6

Ottimo! Come puoi vedere dall’output sopra, sei riuscito a configurare l’ambiente Scala in Jupyter Notebook.

Sintassi di base

Iniziamo stampando Hello, World! in Scala.

print("Hello, World!")
Hello, World!

Come vedi, è semplicissimo: basta un comando print seguito dall’input come argomento.

Ora vediamo alcuni dettagli relativi alla sintassi in Scala:

  • Scala è case-sensitive, il che significa che gli identificatori DataCamp e dataCamp hanno un significato diverso in Scala.

  • In Scala, la prima lettera di tutti i nomi delle classi dovrebbe essere in Maiuscolo. Se più parole sono combinate per formare il nome della classe, la prima lettera di ogni parola dovrebbe essere maiuscola. Per esempio, class MyScalaDataCampTutorial.

  • I nomi dei metodi in Scala funzionano in modo leggermente diverso rispetto ai nomi delle classi, principalmente per distinguerli da questi ultimi. I nomi dei metodi dovrebbero iniziare con una lettera minuscola (Fonte). Se più parole sono combinate per formare il nome del metodo, allora la prima lettera di ogni parola interna dovrebbe essere maiuscola. Per esempio, def firstDatacampScalaTutorial()

  • In Scala, il nome del file del programma deve corrispondere esattamente al nome dell’oggetto. Quando salvi il file, devi usare il nome dell’oggetto e aggiungere .scala alla fine. Ad esempio, supponiamo che ScalaTutorial sia il nome dell’oggetto. Allora il file dovrebbe essere salvato come ScalaTutorial.scala.

    Nota: se il nome del file e quello dell’oggetto non coincidono, il programma non verrà nemmeno compilato.

  • Infine, come nella maggior parte dei linguaggi, anche l’esecuzione di un programma Scala inizia dal metodo main(), che è una parte cruciale di ogni programma Scala.

La figura seguente mostra le parole riservate in Scala, che non possono essere usate come costanti o variabili o come altri identificatori.

parole riservate in scala
(Fonte)

Tipi di dato

I tipi di dato in Scala sono quasi identici a quelli di molti altri linguaggi di programmazione come C, C++, Java, Python, ecc., con un’impronta in memoria e una precisione simili.

Infine, vediamo alcuni dei tipi di dato presenti in Scala:

  • Int: Un valore con segno a 32 bit (può assumere valori positivi e negativi) ha un intervallo da $2^{-31}$ a $2^{31} - 1$

  • Byte: Un valore con segno a 8 bit ha un intervallo da $2^{-7}$ a $2^{7} - 1$

  • Short: Un valore con segno a 16 bit ha un intervallo da $2^{-15}$ a $2^{15} - 1$

  • Long: Un valore con segno a 64 bit ha un intervallo da $2^{-63}$ a $2^{63} - 1$

  • Float: Sia 32 bit (virgola mobile a singola precisione) sia 64 bit (virgola mobile a doppia precisione)

  • Char: Un carattere Unicode senza segno a 16 bit (può assumere solo valori positivi).

Altri tipi di dato sono String, Boolean, Null.

Conclusione

Congratulazioni per aver completato questo tutorial.

È un buon punto di partenza per chi è interessato a imparare Scala.

Per saperne di più, dai un’occhiata ai tutorial di DataCamp su Scala:

Basi di Funzioni e Metodi in Scala

IF ELSE in Scala

Operatori in Scala

Liste in Scala

C’è un’enorme quantità di informazioni su Scala che resta da esplorare, come if/else, cicli for, vari operatori in Scala, ecc., che verranno trattate in futuri tutorial. Resta sintonizzato!

Riferimenti:

Per qualsiasi domanda relativa a questo tutorial, scrivi pure nei commenti qui sotto.

Argomenti
Scala
Data Science

Scopri di più su Data Science e Scala

Corso

Introduction to Scala

3 ore
27.1K
Begin your journey with Scala, a popular language for scalable applications and data engineering infrastructure.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro