Чем программа отличается от человека
Friday, 21 August 2009 07:34![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Представим себе типичный алгоритм из тех, по которым работают программы.
Вы работаете клерком: берёте поступающие заявки из входящих, надписываете номер вашего отделения, кладёте в исходящие. По средам каждую вторую заявку откладываете в папку А. По пятницам каждую третью заявку откладываете в папку Б.
Если вы человек, то в начале рабочего дня вы смотрите на календарь и кладёте рядом с собой папку А или папку Б. Номер отделения вы знаете наизусть.
Если вы программа, то вы всегда держите под рукой обе папки и на каждой заявке смотрите в календарь. За номером отделения вы каждый раз быстро-быстро бегаете в настройки к табличке у входа. Если вы продвинутая программа, то номер отделения у вас закэширован на бумажке и лежит под стеклом на столе.
Вы работаете клерком: берёте поступающие заявки из входящих, надписываете номер вашего отделения, кладёте в исходящие. По средам каждую вторую заявку откладываете в папку А. По пятницам каждую третью заявку откладываете в папку Б.
Если вы человек, то в начале рабочего дня вы смотрите на календарь и кладёте рядом с собой папку А или папку Б. Номер отделения вы знаете наизусть.
Если вы программа, то вы всегда держите под рукой обе папки и на каждой заявке смотрите в календарь. За номером отделения вы каждый раз быстро-быстро бегаете в настройки к табличке у входа. Если вы продвинутая программа, то номер отделения у вас закэширован на бумажке и лежит под стеклом на столе.
no subject
Date: Friday, 21 August 2009 16:03 (UTC)во внутреннем ОЗУ человека хранится не день недели,
а вариант программы поведения, адаптированный для
данного дня недели. в человека довольно естественно
встроены "ленивые", или "обобщенные" вычисления.
нет никаких принципиальных преград сделать то же
с обычной программой. это не делается потому что
обычному программисту проще заставить комп выполнить
больше операций, чем разводить в программе такую
"заумь", да и риск ошибок меньше, а также - из
соображений безопасности - имеется аппаратный запрет
на модификацию кода программы во время ее исполнения,
и этот запрет обходится довольно-таки сложно.
бывают случаи, когда такая модификация абсолютно необходима, -
и обходятся запреты, и побеждается сложность.
в моей практике встречалось