Direi che stai pensando alle variabili nel modo in cui le pensiamo in un'espressione algebrica, cioè come qualcosa con un valore sconosciuto che dipende dagli altri vincoli dell'equazione:
x + y = 3
In un'equazione del genere, i valori di x
e y
dipendono l'uno dall'altro. Se sai cos'è y
, puoi dedurre il valore di x
. Sono chiamati variables
qui perché ci sono molte coppie {x, y}
che soddisfano l'equazione.
Le variabili nella programmazione sono fondamentalmente diverse. Nella programmazione, una variabile rappresenta ancora un valore, ma il valore può cambiare nel corso del programma. Pensala come una scatola che può contenere un valore: puoi sempre cambiare ciò che è nella scatola. Alcuni linguaggi potrebbero consentire un'equazione come quella algebrica sopra, ma nella maggior parte delle lingue non è possibile creare vincoli aperti come quello (almeno non senza più lavoro). Invece, dovresti dire qualcosa del tipo:
y = 5; // assign 5 to y
x = 3 - y; // y is 5 from the line above, so x becomes -2
x = x - 1; // it's okay to assign an expression containing a variable
// to that same variable, so x now becomes (-2 - 1), or -3
Le costanti, d'altra parte, sono proprio questo: valori costanti. Sono nomi di valori e questi valori non possono cambiare. Li usiamo principalmente per rendere il codice più facile da capire:
secondsPerDay = hoursPerDay * minutesPerHour * secondsPerMinute;
è più facile da capire di:
secondsPerDay = 24 * 60 * 60;