Алгоритм сам по себе – явление, к вычислениям не относящееся. Это набор модульных или автономных инструкций, последовательно выполняемых, чтобы нечто сделать или создать, включающий необходимые элементы, ограничения и процедуру, взятые вместе в динамике. Когда определения алгоритмов предлагаются технически неосведомленной аудитории, алгоритм часто объясняют с помощью метафоры рецепта выпечки. Список ингредиентов соответствует вводу, а массив данных и/или переменных вместе с пошаговой инструкцией, как смешивать, соединять, просеивать, бланшировать и подогревать, соответствует процедурным, встроенным, вложенным командам повторения и возврата, составляемым с помощью кода. И так же, как рецепт тыквенного хлеба не есть испеченный тыквенный хлеб, код сам по себе тоже не является алгоритмом, пока его не запустят. Материализация тыквенного хлеба или поиска Google есть по своему исполнению интраакция, воплощенная в определенных материальностях, одновременно дискретных и модульных. Предыдущее предложение предполагает, что для того, чтобы наше метафорическое равенство осталось верным, тыквенный хлеб мог бы легко, но с другим ингредиентом стать банановым. Но так не получается. Материальность банана не равна тыквенной. Хотя часть специй, которые используются в дополнение и к тыкве, и к банану, одинаковые, остальные – разные. Химия запекания бананов ближе к запеканию яиц, а не тыкв. Суть здесь сводится к вопросу материальных различий и возможностей (affordances) алгоритмов аналоговых и алгоритмов вычислительных.
Химический процесс выпекания тыквенного хлеба, включая температуру и время, основан на отслеживании комбинированных материальных ритмов муки, разрыхлителя и соды, сахаров, специй, масел растительных и/или сливочных, яиц и/или бананов и сахарной тыквы. Даже в этом списке ингредиенты и процесс различаются, если тыквенный хлеб возникает в виде диаграммы из веганских и чисто растительных материальных ритмов, из растительного, а не сливочного масла, из бананов, а не яиц или же в виде диаграммы сцепления животных и растительных материальных ритмов. Об этих материальных ритмических различиях можно подумать с существенной долей абстракции как о различиях в материально-ритмическом конструировании функций для устройства на основе Android и устройства на основе Apple OS. Метафору можно расширить еще дальше, включив в нее бессознательные эффекты и аффекты: запеченные сахарно-углеводные соединения в тыквенном хлебе при попадании в пищеварительный тракт человека увеличивают уровень сахара и в крови, ускоряя метаболизм и вызывая инсулиновый ответ, который замедляет и притупляет функции тела и мозга (и так далее, и так далее, и так далее…). Отношения быстроты и медлительности, ритмы сложных интраактивных материй, составляющих тело. Этот ритмический материальный процесс, отчасти доступный восприятию, известный своими эффектами и аффектами, достаточно буквально действует в темпоральных рамках человека, тела, а не только и не исключительно сознания.
А что с материальным ритмами вычислительных алгоритмов? Какой пищеварительный коррелят не подразумевает поедание вычислительного устройства? Если говорить откровенно, вычислительные алгоритмы выполняются – и только – на вычислительных устройствах. Пример псевдокода (частично код, а частично описание алгоритма либо функции естественным языком):
a = 0;
при (a <= 100; a = a + 1) {
печать (а, ",") };
Машины считывают по одной строчке за раз, сверху вниз, если не изменить направление. Первая строчка, a = 0, – это ингредиент, или описание переменной. Первая часть второй строчки говорит устройству, как долго готовить, a <= 100, или так долго, пока a меньше или равно 100. Это считается. Вторая часть второй строки уточняет процесс, который произойдет с ингредиентом или переменной, a = a + 1, что при первой итерации (и всех последующих) означает, что каждый раз, когда a вбрасывают в смесь, a увеличивается на единицу, а = 0 + 1 [следовательно, после первого выполнения a = 1]. Фигурные скобки можно сравнить с резервуаром, содержащим результаты нашего цикла. Так что устройство «печатает» 1, но, что самое важное, это «при» означает, что мы остаемся в цикле, пока a не превысит 100. Так что резервуар, функция печати, будет наполняться, пока не получит a = 100, и машина будет печатать 1, 2, 3, […], 100, а затем остановится. Этот результат будет достигнут меньше чем за секунду после нажатия кнопки «выполнить» без необходимости что-либо понимать в вычислении, темпоральности, условии и ограничении или формате вывода. Этот результат не является процессом. Как и объяснение синтаксиса алгоритма.