Исходя из моего опыта, это зависит от того, с кем вы разговариваете. Это, как говорится, мое определение
* Значение - это ... значение (1, «а» и т. Д.)
* Переменная - это имя, используемое для ссылки на значение. Можно использовать несколько имен для ссылки на одно и то же значение, а значение, на которое ссылается переменная, изменяется со временем, но ни одно из них не является обязательным.
int a = 1;
^ variable
^ value
Ссылка на википедию , упомянутая Коди Грей, подтверждает эту точку зрения или, по-моему, на мой взгляд.
Если это поможет, учтите, что чисто функциональные языки имеют переменные, но, по определению, являясь функциональным языком, значения, на которые эти переменные указывают , не могут меняться со временем.
Стоит также отметить, что ваше определение также зависит от контекста вашего обсуждения. Если вы говорите о «переменные против констант», разумно сказать, что они полярные противоположности. Если вы говорите «переменные против значений против ключевых слов», вы говорите о различном использовании слова «переменная» (вид).
В качестве примера рассмотрим фрукты против овощей . В научной терминологии баклажаны - это фрукты. В кулинарной терминологии это овощ. Кулинарный термин «овощ» может относиться к вещам, с научной точки зрения, к фруктам, корням, орехам и множеству других вещей. Вам необходимо знать контекст вашего обсуждения, чтобы иметь возможность сказать, является ли «х плодом» является точным.