Основные определения #
Философия - единственная фундаментальная наука, все остальные научные дисциплины суть прикладная философия. Поэтому начнем мы с понятийного аппарата, то есть с точного значения слов.
Информация #
Информация это субъективное отражение объективной реальности. Реальность состоит из единичных фактов, информация состоит из единичных данных, описывающих эти факты. Данные, описывающие объект, являются единичными свойствами объекта и все вместе называются состоянием объекта.
Исполнитель #
Исполнитель – объект, который умеет производить действия. Состояние исполнителя - это вся информация, которая его описывает. С каждым действием исполнителя его состояние меняется. Множество состояний, связанных между собой действиями, образуют граф состояний объекта.
Конечный автомат это исполнитель, обладающий строго определенным количеством состояний.
Алгоритм #
Алгоритмом1 называется дискретная2 последовательность действий. В различных источниках упоминаются также “однозначность”, “конечность”, “результативность”, “понятность” и даже “массовость”, но все эти свойства либо спорны, либо вторичны.
Транзакция #
С понятием дискретности связано также понятие транзакции.
Транзакция - это атомарное3 и изолированное действие. Атомарное действие выполняется полностью или не выполняется вовсе. Изолированные действия не влияют друг на друга, даже если они выполняются одновременно. В учебниках транзакциям приписывают еще два свойства: согласованность и надежность. На самом деле, атомарное действие уже является согласованным, а изолированное – надежным.
Таким образом, алгоритм также можно определить как последовательность транзакций.
Программа #
Команда – это понятный исполнителю сигнал для произведения действия. Полный набор таких команд называется языком исполнителя. Запись алгоритма на языке исполнителя называется программой.