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