Saturday 16 January 2021

Что такое программа?

Всё в той же бестолковой лекции Деннета, которую я всё ещё смотрю:

(остановился примерно на 40-й минуте, потому что записывать комментарии надо почти к каждому предложению, это что-то...) лектором была высказана следующая "глубокая" мысль.

Software is made of bits.

Ниже я привожу небольшую иллюстрацию, показывающую что Деннет вообще не понимает, о чём речь.

В следущих трёх разных строках ОДНО И ТО ЖЕ КОЛИЧЕСТВО бит, равное 200 (или 25 байт).

  1. Software is made of bits
  2. r8__fdjry7r 83,,,%-+///*
  3. строка, состоящая из 24 пробелов

Откуда взялась цифра 200 бит?

Все три строки содержат так называемые ASCII символы, каждый из которых для внутреннего представления требует ровно 1 байт, то есть 8 бит. Всего в каждой строке 24 символа, что соответствует 24 * 1 байт = 24 * 8 бит = 192 бит, необходимых для хранения внутреннего представления строки на диске. К тому же, есть ещё 1 дополнительный специальный символ line feed (1 байт = 8 бит). Этот дополнительный символ был добавлен линуксовым текстовым редактором vi, с помощью которого я создавал все три файла). Итого 192 + 8 = 200 бит (25 байт):

Как мы видим, и лабуда в файле file2.txt, и осмысленный человеческий текст file1.txt, и даже пустая строка из 24 пробелов (file3.txt) имеют внутреннее файловое представление ОДИНАКОВОГО размера. Деннет, будучи убеждённым дарвинистом, видимо, думает, что лабуда (и даже пустота! посмотрите первую часть его лекции) случайным образом может преобразоваться в осмысленную программу. Как Энгельс или кто-то ещё думал, что давным-давно обезьяна взяла в руки палку, била ей, била по камушкам, и, наконец, стала человеком.

Как выразился сам же лектор, we sort of know [how life came to be]. Вот в этом "вроде, знаем", как в зеркале, отражается вся их нехитрая философия. В принципе, дальше эту лекцию можно вообще не смотреть.

Программа -- это прежде всего функция: законченная последовательность осмысленных инструкций, написанных на определенном языке и предназначенных программистом для процессора (то есть того, что эту программу будет транслировать/интерпретировать и исполнять). Именно функциональный аспект важен при обработке информации.

Замечу, что и строка 2, и строка 3 может нести определенный смысл в некотором заданном контексте (не будучи, правда, программой). Например, строка 2 может служить пользовательским паролем. НО этот информационный контекст сначала должен быть сформирован. В контексте системы репликации организмов программа — это останавливающая по Тьюрингу последовательность генетических инструкций синтеза белка, а также вся необходимая оркестровка/регуляция этого сложного многостадийного процесса, за которую отвечает так называемая белок-некодирующая часть генома живого организма.

— Константин Сергеевич... кто это? Кто это?! — Станиславский. — Станиславский умер в 1938 году. И не знать этого просто неприлично! Кадр из кинофильма "Приходите завтра".
 

No comments:

Post a Comment

Запись дня

Нерегулярность и неаддитивность функции

Claude Shannon by Alfred Eisenstaedt / The LIFE Picture Collection / Getty Рассмотрим стандартное возражение эволюционистов*, в котором утве...