Говоря про недостатки событийного подхода, думаю имеет смысл упомянуть те, которые поднимались в академической среде в конце прошлого/начале текущего столетия и описаны в работе «Why Events Are A Bad Idea (for high-concurrency servers)»
Это stack ripping и inversion of control
Альтернатива — сопрограммы и легкие потоки, реализованные на их основе.
Они дают удобство написания thread-based подхода и скорость работы за счёт асинхронности «под капотом» и той самой популярной ныне кооперативной многозадачности, которая многим нравится в golang, kotlin и т.д.
В них можно полностью отказаться от привычных примитивов синхронизации типа мьютексов и условных переменных.
Хорошо описано в цикле статей «Асинхронность: назад в будущее» Григория Демченко
Сложно ли будет добавить функционал по удалению всех сообщений от пользователей, которые не прошли «капчу», отправив боту некое ключевое слово из запиненного в правилах чата сообщения?
Пользователю при этом можно напомнить о том что он не прочёл правила или прочёл их невнимательно (-_-)
Это stack ripping и inversion of control
Альтернатива — сопрограммы и легкие потоки, реализованные на их основе.
Они дают удобство написания thread-based подхода и скорость работы за счёт асинхронности «под капотом» и той самой популярной ныне кооперативной многозадачности, которая многим нравится в golang, kotlin и т.д.
В них можно полностью отказаться от привычных примитивов синхронизации типа мьютексов и условных переменных.
Хорошо описано в цикле статей «Асинхронность: назад в будущее» Григория Демченко
Пользователю при этом можно напомнить о том что он не прочёл правила или прочёл их невнимательно (-_-)