OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 10:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Пятница, 12 Март, 2021 15:28 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Чётто вообще не понимаю, об чём диспут.

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 15 Март, 2021 09:29 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
Продолжение от Шалыто https://vk.com/@1077823-esche-ob-avtomatnom-programmirovanii


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 22 Март, 2021 02:30 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Info21 писал(а):
...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 22 Март, 2021 02:38 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Wlad писал(а):
Info21 писал(а):
...

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 22 Март, 2021 03:14 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Валерий Лаптев писал(а):
Wlad писал(а):
Info21 писал(а):
...

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 22 Март, 2021 15:52 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
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;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 22 Март, 2021 16:56 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Wlad писал(а):
Info21 писал(а):
...

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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Воскресенье, 03 Апрель, 2022 06:37 

Зарегистрирован: Воскресенье, 03 Апрель, 2022 06:28
Сообщения: 1
Comdiv писал(а):
Не мне одному кажется, что полноценное программирование на конструкциях, изоморфных switch - это дичь грандиозного масштаба?


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 04 Апрель, 2022 13:40 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Про низкоуровость не совсем точно, но мысль понятна. Тем не менее, с учётом контекста тут нет противоречия дикости, чтобы их противопоставлять.

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Понедельник, 04 Апрель, 2022 19:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 470
Откуда: Москва
Дмитрий Дагаев писал(а):
Автоматное программирование от основоположника - Анатолия Шалыто.
https://m.vk.com/@1077823-vtomatnoe-programmirovanie

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Вторник, 05 Апрель, 2022 10:40 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Владимир Паронджанов писал(а):
Дмитрий Дагаев писал(а):
Автоматное программирование от основоположника - Анатолия Шалыто.
https://m.vk.com/@1077823-vtomatnoe-programmirovanie

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB