Я полагаю, что ваш вопрос в конечном итоге сводится к поиску путей повышения уровня абстракции над механизмами RTOS низкого уровня. Хотя, возможно, верно, что интерпретируемые языки работают на несколько более высоком уровне абстракции, чем C, вы можете добиться гораздо большего, чем при применении методов, основанных на управляемых событиями инфраструктурах и конечных автоматах. Такие управляемые событиями структуры существовали в течение десятилетий и были доказаны в бесчисленных встроенных системах во всех видах областей. Сегодня практически каждый инструмент моделирования для встроенных систем, способных генерировать код (например, Rational-Rose RT, Rhapsody и т. Д.) Содержит вариант такой структуры конечного автомата.
Но управляемые событиями структуры конечных автоматов можно использовать и без больших инструментов. Например, платформы конечного автомата QP (state-machine.com) делают все, что может сделать обычная ОСРВ, только более эффективно, а также многое из того, что ОСРВ не может.
Когда вы начнете использовать современную парадигму программирования на основе событий с конечными автоматами, ваши проблемы изменятся. Вам больше не придется бороться с 15 уровнями запутанных операторов if-else, и вы перестанете беспокоиться о семафорах или других подобных низкоуровневых механизмах RTOS. Вместо этого вы начнете думать на более высоком уровне абстракции о конечных автоматах и событиях, которыми они обмениваются. После того, как вы испытаете этот квантовый скачок, вы никогда не захотите возвращаться к сырой RTOS и коду спагетти.
Миро Самек, state-machine.com