Отзывы на книгу «Автоматное программирование»

Зачем это нужно

Мой первый опыт работы программирования в данном стиле(можно назвать методом) был связан с разработкой ПО под микроконтроллер STM32 для задачи управления несколькими двигателями с учетом показаний датчиков. Коллега порекомендовал почитать Шалыто «Автоматное программирование» и воспользоваться методами, указанными в книге. Результат превзошел мои ожидания, объем кода удалось сократить раза в 2, читаемость улучшилась.

Книга будет полезна в первую очередь начинающим разработчикам – примеры понятны, язык доступен. «Автоматное программирование» оказало существенное влияние на собственный стиль разработки ПО не только для микроконтроллеров, но и десктопных систем.

По-моему Очень глубокая книга (и при этом краткая).

Автоматное программирование – один из подходов, которые должны помочь решить Основное Противоречие современного IT: чрезвычайная Сложность и Высокочастотная Изменчивость прикладной логики эксплуатантов, при одновременном требовании Высочайшей Надежности (предсказуемость, однозначность подведения и корректная обработка исключительных ситуаций).


Другие подходы, непосредственно родственные Автоматному Программированию:

* Domain Driven Design (DDD) – по сути проекция единых методов Системной Инженерии (Systems Engineering) на разработку ПО.


* Языково-ориентированное программирование – создание узко-специализированных языков предметной области (Domain Specific Language, DSL)

для описания алгоритмов и структур данных «данного ограниченного контекста модели предметной области», выражаясь в терминах DDD.


* Test Driven Design (TDD)


* Контрактное программирование (ЯП Eiffel, Бертран Мейер) – по сути, автоматное описание, описание на DSL, юнит-тесты в TDD… – все это формы «контракта», когда

Система обязуется обработать некую ситуацию так-то и так-то.


Это тесно переплетается в идеей Шалыто, что нужен не «открытый исходный код» («открытый» часто лишь для того, кто его писал сам, а для остальных – «проще переписать заново!»), но «открытые спецификации» (по четко описанным спецификациям, генерировать исполняемый код сможет система мета-программирования автоматически.)

Но по-настоящему «открытыми» спецификации могут стать Только тогда, когда выражены очень просто, на языке, понятном специалисту предметной области, которую мы хотим автоматизировать. Пока же мы «хороним» прикладную логику под тоннами низкоуровневого кода на C++/Qt, SQL и reg-exp , то поведение системы для эксплуатантов совершенно непонятно. А знания предметной области, накопленные за годы (!) эксплуатации системы будут утеряны – т.к. выражены не в human-readable спецификациях, а «размазаны» по «костыльному» коду (а, начиная с некоторого уровня сложности, который достигается «неожиданно» быстро, код становится непонятным и для нас самих тоже).

Прочитал пока поверхностно, т.к. учился 20 лет назад и фразы типа

"автоматное программирование" и «автоматные модели» мешают воспринимать информацию. Идеи заслуживают внимания.

Если заменить, для старообразованных, фразы и выражения на принятые раньше ( и более, по моему логичные «программирование автоматов», «модели автоматов» и т.п.), будет читабельнее и меньше смахивать на гугл-перводчик.

автоматное программирование позволяет единообразно осуществлять разработку программного обеспечения, предназначенного для управления логическими контроллерами. очень хорошо, что автор настойчиво продвигает свою идею. что хорошо, это отечественное ноу-хау.

Автор очень быстро перешел к математическим формулам прервав повествование от простого к сложному.

Рекомендую для начала прочитать понятное введение в автоматы Мура и Мили на примере светофора в книге

Цифровая схемотехника и архитектура компьютера

Авторы:Дэвид Харрис, Сара Л. Харрис

https://www.litres.ru/devid-harris/cifrovaya-shemotehnika-i-arhitektura-komputera-27066912/

Сложно написано, как для тех, кто в теме уже давно. Но тем не менее вдохновляет на исследование и лично я с этого момента буду стремиться освоить этот подход разработки.

Оставьте отзыв

Войдите, чтобы оценить книгу и оставить отзыв

Жанры и теги

Возрастное ограничение:
0+
Дата выхода на Литрес:
18 марта 2011
Последнее обновление:
2011
Объем:
176 стр.
ISBN:
978-5-4237-0075-1
Общий размер:
4.5 МБ
Общее кол-во страниц:
176
Правообладатель:
Питер
Формат скачивания:
pdf