Как вы отличите вязкую, очень вязкую жидкость от твердого тела? Гудрон при температуре -40 хрупкий и очень твердый ( или очень вязкий ).
Граница между жидким и кристаллическим(твердым) одна — агрегатное состояние вещества.
Ну так стекло как раз и не вязкая жидкость, и не твердое тело. Как сказал один ученый который исследовал эту тему, стекло больше похоже на одну большую молекулу, чем на жидкость. Химические связи в нем не позволяют ему течь, но при этом атомы не образуют регулярной решетки, потому что не успевают занять правильные позиции при остывании.
Обожаю стейт-машины. Они сами по себе мощный инструмент для формализации логики, уберегают код от недетерменированных состояний и сильно упрощают отладку.
Но неаккуратно написанная (или недопокрытая тестами) стейт-машина — это бомба замедленного действия.
В порядке занудства — не стоило ли при переводе также перевести 32 и 212 градусов по Фаренгейту в 0 С и 100 С, исключительно для полноты картины? Или большинство на автомате воспринимает шкалу Фаренгейта?
Насколько я понял, речь и идёт о классических стейт-машинах. А FNM — это только формат для их описания. Табличку переходов развернули в двухуровневый список, и добавили нотацию для указания семантических процедур.
Вопрос в том, зачем ещё один формат. Есть и наработанная классика (например, иерархические машины) с кучей манов, и специализированные инструменты, например. А самое обидное, когда у нас многолетний клубок брачующихся змей, с тем же постепенным отсечением, никто его не будет переписывать ни на FSM, ни на FNM.
Ну, как сказать. Специализированные инструменты могут быть не под все языки, а стейт-машина может понадобиться не только во встраиваемых системах.
От лишнего формата их описания — хуже точно не будет. Может, кому-то пригодится для DSL. А если нет — то и хрен бы с ним.
Автоматы против спагетти-кода