Лучше бы на эти темы говорить в подходящем месте, а то опять потом ничего не найдёшь...
andr писал(а):
у всех упорных концепции неправильные;
А вы посмотрите, чем та тема закончилась!

Началось с того, что я показал принципиальные трудности в соотношении алгоритма и программы, и вообще том месте, на которое принято помещать алгоритм в информационных технологиях.
В результате за много страниц темы никто так и не предложил не только идеального решения, но даже достаточно сильных аргументов для защиты классического понятийного аппарата.
И, насколько я помню, просто прекратили попытки - потому что в повседневной практической жизни все мы как-то без этой философии обходимся.
А сейчас вы снова делаете попытку углубиться в какие-то философские аспекты, вот я и напоминаю о том участке пути, который уже был худо-бедно пройден.
Цитата:
Очень оригинальная точка зрения.
К сожалению, я не проводил библиографических исследований на предмет оригинальности. Поэтому любая помощь в том приветствуется

Цитата:
1) Что значит"абстрактный исполнитель": абстрактный (отвлеченный) от чего?
От излишних деталей технической реализации исполнителя.
Причём процесс имеет место на всех когнитивных уровнях:
- абстрагируясь от формы электрических сигналов, работаем с битами, байтами и интерфейсами;
- абстрагируясь от кодов команд процессора, работаем с ассемблером;
- абстрагируясь от архитектуры процессора в значительной мере, вместо ассемблера получаем ЯВУ;
- абстрагируясь от архитектуры процессора в полной мере и от синтаксиса ЯВУ в значительной мере, работаем с алгоритмом;
- абстрагируясь от конкретики алгоритма, работаем с математической моделью;
- абстрагируясь от математической модели, работаем с задачами.
Во всей этой иерархии мы видим, что очередная ступенька представляет собой очередной формальный язык, который оптимален на данном уровне абстракции и неудобен либо нереализуем на соседних уровнях.
Цитата:
2) Они (абстрактные исполнители) существуют в природе?
Возвращаясь к пресловутому алгоритму, смотрим на эту иерархию и видим, что алгоритм - это всего лишь попытка максимально абстрагироваться от деталей реализации исполнителя.
Естественно, абстрагирование - процесс очень плохо формализуемый.
В самом грубом приближении, нам достаточно выкинуть всё, что связано с конкретной формальной системой команд.
Однако чудес не бывает, и исполнитель (например, человек) тогда будет вынужден выполнять команды неформальные ("поди туда не знаю куда"), а это тупик для инженерии.
Соответственно, приходится выделять какие-то инварианты:
- обязательность действий;
- последовательность действий;
- формализованная реакция на бинарные вопросы (да/нет).
Собственно, это всё, что мы оставляем на уровне синтаксиса языка программирования исполнителя.
А на уровне семантики нам приходится наворачивать дополнительные сущности (например, переменная) или своего рода повышающие уровень абстракции "макроопределения" к исходному языку (например, циклы), а также выносить на уровень синтаксиса понижающие уровень абстракции элементы (например, ввод-вывод).
Цитата:
Они неправильно поступают?
Правильно. Им дали термин, они и пользуются. Дали бы другой - употребляли бы его.
Цитата:
А для машины эти алгоритмы дети переписывают по другому, и называют их программами.
Выделил ключевые моменты.
Насчёт "правильности" вы можете ответить сами - они просто
соответствуют конкретной технологии программирования.
Цитата:
1) Детишки в школе неправильно различают алгоритмы и программы?
Правильно, но не надо опускать принципиально важную предпосылку: в рамках конкретной технологии программирования.
В то же время существует и громадное пространство других подходов. В ряде которых подобная технология не просто трудно реализуема, а вообще не определена.
Попробуйте, скажем, перейти от алгоритма к программе на декларативном языке.
Возвращаясь к моей теме про алгоритм, замечу в качестве резюме: всё определяется задачей. Нас будет интересовать класс задач, для которых:
- задача может быть решена путём программирования;
- задача допускает выбор различных исполнителей и, соответственно, технологий программирования;
- одна из возможных технологий позволяет получить промежуточный результат - программу, абстрагированную как от уровня модели (детализированную, описывающую процесс преобразования пространства состояний модели), так и от конкретного исполнителя (это и есть наш алгоритм). При этом:
- программа под названием "алгоритм" уже формально предписывает порядок действий, но пока ещё оставляет за кадром вопрос выбора наиболее подходящего исполнителя (допускает выбрать разные). Обратите внимание, что ценность этого промежуточного этапа заключается именно в откладывании выбора подходящего исполнителя (если исполнитель уже есть и замене не подлежит, данный этап может быть полезен только из-за имеющихся наработок предыдущего опыта (ряда готовых решений).