OberonCore
https://forum.oberoncore.ru/

Автоматное программирование
https://forum.oberoncore.ru/viewtopic.php?f=152&t=6731
Страница 3 из 3

Автор:  Info21 [ Пятница, 12 Март, 2021 15:28 ]
Заголовок сообщения:  Re: Автоматное программирование

Чётто вообще не понимаю, об чём диспут.

Полно объектов, жизнь которых отчётливо проходит через чёткий набор состояний, при этом переходы подчиняются неким правилам, хотя чистыми КА они бывают редко.

Обратно, не всякий автомат, логически проклёвывающийся в программе, нуждается в организации с помощью объекта или группы объектов, но многие именно так и удобно организовывать.

В чём проблема-то?

Автор:  Дмитрий Дагаев [ Понедельник, 15 Март, 2021 09:29 ]
Заголовок сообщения:  Re: Автоматное программирование

Продолжение от Шалыто https://vk.com/@1077823-esche-ob-avtomatnom-programmirovanii

Автор:  Wlad [ Понедельник, 22 Март, 2021 02:30 ]
Заголовок сообщения:  Re: Автоматное программирование

Info21 писал(а):
...

А мне нравится больше выражать состояние через функцию... :)

Автор:  Валерий Лаптев [ Понедельник, 22 Март, 2021 02:38 ]
Заголовок сообщения:  Re: Автоматное программирование

Wlad писал(а):
Info21 писал(а):
...

А мне нравится больше выражать состояние через функцию... :)

Ну, не программист до такого вряд ли додумается.
Но тогда уж класс - и методы.

Автор:  Wlad [ Понедельник, 22 Март, 2021 03:14 ]
Заголовок сообщения:  Re: Автоматное программирование

Валерий Лаптев писал(а):
Wlad писал(а):
Info21 писал(а):
...

А мне нравится больше выражать состояние через функцию... :)

Ну, не программист до такого вряд ли додумается.
Но тогда уж класс - и методы.

Через функцию - быстрее. И - удобнее. Состояние - содержимое указателя на функцию.
Каждый раз просто вызываешь "состояние", а там - уже логика работы в состоянии обрабатывается.
Результатом функции может быть индекс другого состояния (или указатель на другую функцию-состояние).

Автор:  Александр Ильин [ Понедельник, 22 Март, 2021 15:52 ]
Заголовок сообщения:  Re: Автоматное программирование

Wlad писал(а):
Через функцию - быстрее. И - удобнее. Состояние - содержимое указателя на функцию.
Каждый раз просто вызываешь "состояние", а там - уже логика работы в состоянии обрабатывается.
Результатом функции может быть индекс другого состояния (или указатель на другую функцию-состояние).
Согласен, это кайф. Вся механика автомата схлопывается до одной строки кода, и можно сосредоточиться на полезном содержании, а не писать на каждый чих динные case-ы.

Для случая, когда состояния описаны перечислением (enum):
Код:
procedure TShuttleManager.Step;
// Call the handler of the current state and update the state with the result.
begin
  SetState(FStateHandlers[GetState()]());
end;

Автор:  Info21 [ Понедельник, 22 Март, 2021 16:56 ]
Заголовок сообщения:  Re: Автоматное программирование

Wlad писал(а):
Info21 писал(а):
...

А мне нравится больше выражать состояние через функцию... :)
И это тоже правильно.

Автор:  Дмитрий Дагаев [ Суббота, 04 Сентябрь, 2021 11:16 ]
Заголовок сообщения:  Re: Автоматное программирование

Блог А.А.Шалыто Вирт. Былое и думы...
Цитата:
Вирт. Былое и думы...
«Соджетто» иногда называют просто «темой» (https://iknigi.net/avtor-yuriy-holopov/103612-vvedenie-v-muzykalnuyu-formu-yuriy-holopov/read/page-24.html). Руслан Богатырев опубликовал очередное «Соджетто. Пантеон программирования. Памяти И.В. Поттосина» https://proza.ru/2021/04/25/1347, которое я рекомендую прочесть всем любителям и профессионалам от программирования.

Автор:  Vladimir Zyubin [ Воскресенье, 03 Апрель, 2022 06:37 ]
Заголовок сообщения:  Re: Автоматное программирование

Comdiv писал(а):
Не мне одному кажется, что полноценное программирование на конструкциях, изоморфных switch - это дичь грандиозного масштаба?


Это совсем не дичь, это просто низкоуровневое программирование. В таком стиле очень много программ пишется, и у нас и у наших зарубежных коллег, и Шалыто молодец, что упорно указывает на проблему. Конечно же, у профессиональных программистов "switch-технология" вызывает, мягко говоря, недоумение, и особенно претензии А. Шалыто на первооткрывательство. Ну, вот так отрасль и живет. IEC 61131-3, IEC 61499... : )

Автор:  Comdiv [ Понедельник, 04 Апрель, 2022 13:40 ]
Заголовок сообщения:  Re: Автоматное программирование

Про низкоуровость не совсем точно, но мысль понятна. Тем не менее, с учётом контекста тут нет противоречия дикости, чтобы их противопоставлять.

Вы ответили, наверно, проигнорировав остальное обсуждение, потому что в нём было прояснено, в чём именно Анатолий Абрамович претендует на первооткрывательство, к чему нет никаких претензий, даже если он такой не один. Неприятие вызывает предлагаемая вездесущность подхода, а не вопрос первородства.

Под конец прошлого года в telegram затронули тему goto, и я указал, что структурноe программированиe не сводится к неиспользованию goto и неструктурность легко воспроизводится, например, с помощью повтора с ветвлением. Подход Шалыто возводит этот способ в абсолют. Нелогично, но немало людей совмещают одобрение подобного подхода с одобрением подхода Эдсгера Доуэвича. Следовать букве легче, чем духу, но чем это не дикость?

Автор:  Владимир Паронджанов [ Понедельник, 04 Апрель, 2022 19:51 ]
Заголовок сообщения:  Re: Автоматное программирование

Дмитрий Дагаев писал(а):
Автоматное программирование от основоположника - Анатолия Шалыто.
https://m.vk.com/@1077823-vtomatnoe-programmirovanie

Ссылка не рабочая

Автор:  Борис Рюмшин [ Вторник, 05 Апрель, 2022 10:40 ]
Заголовок сообщения:  Re: Автоматное программирование

Владимир Паронджанов писал(а):
Дмитрий Дагаев писал(а):
Автоматное программирование от основоположника - Анатолия Шалыто.
https://m.vk.com/@1077823-vtomatnoe-programmirovanie

Ссылка не рабочая

https://vk.com/@1077823-vtomatnoe-programmirovanie

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/