Мы не будем вдаваться в синтаксический и грамматический формализм. Расслабьтесь и продолжайте читать!
8.1. Лингвистика
Языки программирования очень сильно отличаются, но все они были созданы, чтобы делать одно: управлять информацией. С этой целью все они опираются на три основных структурных элемента.
Значения
Вид информации, которую может содержать значение, варьируется от языка к языку. В самых элементарных языках значения содержат только очень простые данные, такие как целое число или число с плавающей точкой. Со временем языки становились сложнее: сперва они стали в качестве значений обрабатывать символы, потом — строки. В языке C, который по-прежнему остается очень низкоуровневым, можно задать структуру — способ определения значений, состоящих из групп других значений. Например, можно определить тип значения, именуемый координатой, которое будет состоять из двух чисел с плавающей точкой: широты и долготы.
Значения настолько важны, что их также называют объектами первого класса языка программирования. Языки допускают разнообразные виды операций со значениями: они могут создаваться во время выполнения функции, могут передаваться как параметры, возвращаться ею.
Выражения
Вы можете создать значение двумя способами: написав
3
Бум! Мы буквально только что создали значение 3, написав: «3». Довольно прямолинейно. Как литералы можно создавать и другие типы значений. Большинство языков программирования позволит вам создать строковое значение
getPacificTime()
Это выражение создало значение, равное текущему времени в Лос-Анджелесе. Если сейчас 4 часа утра, то метод вернет 4.
Еще одним базовым элементом любого языка программирования является
Когда в Лос-Анджелесе 4 часа утра, наше выражение сведется к 7. В действительности выражение — это любая запись, которую компьютер сможет свести к единственному значению. Большие выражения могут сочетаться с другими выражениями посредством операторов, формируя еще более крупные выражения. В конечном счете даже самое сложное выражение всегда будет вычислено и сведено к единственному значению.
Наряду с литералами, операторами и функциями выражения могут также содержать круглые скобки. Они позволяют управлять
Инструкции
В то время как выражение представляет значение, инструкция используется, чтобы дать компьютеру команду
print("привет мир").
Рис. 8.1.[84]
Более сложные примеры включают условная инструкция
Определения. Некоторые языки программирования имеют специальные инструкции, именуемые
8.2. Переменные
Переменные — это самая важная привязка имен: она устанавливает отношения между именами и значениями. Переменная связывает имя с адресом памяти, где значение хранится, и, таким образом, выступает в качестве его псевдонима. Чаще всего переменная создается при помощи оператора присваивания. В псевдокоде этой книги присвоения обозначаются символом ←:
pi ← 3.142
В большинстве языков программирования присвоения записываются при помощи символа =. Некоторые языки даже требуют, чтобы вы
var pi
pi = 3.142
Эта инструкция резервирует блок памяти, записывает в него значение 3,142 и привязывает имя "pi" к адресу блока памяти.