Home

mutabilità

Mutabilità è la proprietà di un oggetto o di una variabile di cambiare stato dopo la creazione. In informatica, si contrappone all’immutabilità: un oggetto mutabile può subire modifiche ai propri contenuti o alle sue proprietà nel tempo, mentre un oggetto immutabile non cambia una volta creato.

Nel contesto dei linguaggi di programmazione, la mutabilità è spesso una questione di design e di prestazioni.

Vantaggi e svantaggi vanno bilanciati. La mutabilità facilita l’aggiornamento rapido di strutture dati complesse e può

Concetti correlati includono stato, side effects e gestione dello stato in contesti concorrenti. L’uso consapevole della

Esempi
comuni:
in
Python,
le
liste
e
i
dizionari
sono
mutabili;
le
tuple
e
le
stringhe
sono
immutabili.
In
Java,
la
classe
String
produce
oggetti
immutabili,
mentre
classi
come
StringBuilder
o
ArrayList
sono
mutabili.
In
JavaScript,
gli
oggetti
e
gli
array
sono
mutabili,
mentre
i
primitivi
come
number
o
string
possono
essere
considerati
immutabili.
offrire
prestazioni
migliori
in
scenari
con
frequenti
modifiche.
Tuttavia
introduce
potenziali
effetti
collaterali
(side
effects)
e
complicazioni
di
concorrenza:
due
parti
di
un
programma
possono
interferire
tra
loro
modificando
lo
stesso
stato.
Per
questo
motivo
molti
linguaggi
o
paradigmi
favoriscono
l’immutabilità
per
ragioni
di
semplicità
logica,
isolamento
e
sicurezza
thread,
ricorrendo
a
strutture
dati
persistenti
o
a
copie
superficiali/copie
profonde.
mutabilità,
insieme
a
pratiche
come
la
programmazione
funzionale
e
l’adozione
di
pattern
di
immutabilità
per
i
dati,
aiuta
a
controllare
complessità
e
bug.
Mutabilità
deriva
dall’idea
di
cambiamento
e
variazione,
elemento
intrinseco
sia
della
tecnologia
sia
delle
informazioni.