-
- Это называется KISS. Не согласен, на счёт потерь. Потери на обработку одного события в настоящей событийной системе могут на порядок быть больше (процессорное время, джоули батарейки). Но вот в сумме на единицу времени -- скорей наборот. Главный fk0легенда(167 знак., 19.04.2012 22:11 - 22:24)
- ДА!! KISS! Именно об этом я и хотел сказать. О том что сложные механизмы нужно вводить ТОЛЬКО ТОГДА, когда не справляются простые. Иначе...по ссылке. - Cкpипaчпророк(20.04.2012 16:53, ссылка)
- иногда введение сложного механизма (библиотека многозадачности) резко (очень резко) упрощает релизацию задачи - Mahagam(20.04.2012 16:56)
- Ключевое слово - "иногда". Точнее, тогда, когда более простые средства не справляются. Почитайте по моей ссылке. Особенно "С++". Cкpипaчпророк(129 знак., 20.04.2012 17:01)
- иногда введение сложного механизма (библиотека многозадачности) резко (очень резко) упрощает релизацию задачи - Mahagam(20.04.2012 16:56)
- ДА!! KISS! Именно об этом я и хотел сказать. О том что сложные механизмы нужно вводить ТОЛЬКО ТОГДА, когда не справляются простые. Иначе...по ссылке. - Cкpипaчпророк(20.04.2012 16:53, ссылка)
- Дополню/поправлю. Вовсе не нужно отказываться от естественного понятия "событие". "Событие" это изменение "состояния". Причем значений у "состояния" может быть несколько. reZident(1376 знак., 19.04.2012 18:29 - 18:40)
- Вечно фантазии. С коих пор событие стало "естественным" понятием? Событие - это сообщение, сгенерированное ПО и ничего "естественного" в embedded оно не несет, скорее требует дополнительных ресурсов для своей поддержки. blackbit(76 знак., 20.04.2012 00:40)
- Событие это абстрактное понятие, связанное с изменением состояниях чего-либо в окружающем нас мире. Даже если вы полностью живете в своем собственном виртуальном мире ПО, то вы не можете избежать абстракций. Потому, что таково reZident(75 знак., 20.04.2012 13:37 - 13:40)
- Если кто-то еще не заметил, в этой ветке идет речь о событиях, как о сущности из области разработки ПО. Причем здесь окружающий мир? - blackbit(20.04.2012 16:05)
- Если не доходит с первого раза, то перечитайте предыдущий пост еще раз. - reZident(20.04.2012 16:24, ссылка)
- ..если не доходит с первого раза, рекомендую учить матчасть. - blackbit(20.04.2012 16:47)
- Я не против. Учите. - reZident(20.04.2012 18:36, ссылка, ссылка)
- ..и я не против. Учи -=> blackbit(263 знак., 20.04.2012 19:39, ссылка)
- Я не против. Учите. - reZident(20.04.2012 18:36, ссылка, ссылка)
- ..если не доходит с первого раза, рекомендую учить матчасть. - blackbit(20.04.2012 16:47)
- Если не доходит с первого раза, то перечитайте предыдущий пост еще раз. - reZident(20.04.2012 16:24, ссылка)
- Если кто-то еще не заметил, в этой ветке идет речь о событиях, как о сущности из области разработки ПО. Причем здесь окружающий мир? - blackbit(20.04.2012 16:05)
- с тех пор как в этом мире случаются события, такие как: извержения вулканов, наводнения, цунами, падения метеоритов, пожары, приезд любимой тещи, ребенок принес двойку из школы, вам выдали зарплату, прозвенел звонок будильника, пришла SMS, ваш кот bialix(77 знак., 20.04.2012 11:22)
- Интересно, какое ПО генерирует события в вашей повседневной жизни? Неужели вы стали так зависимы от различных ПО? - Bill(20.04.2012 08:19)
- Событие это абстрактное понятие, связанное с изменением состояниях чего-либо в окружающем нас мире. Даже если вы полностью живете в своем собственном виртуальном мире ПО, то вы не можете избежать абстракций. Потому, что таково reZident(75 знак., 20.04.2012 13:37 - 13:40)
- Я хотел обратить внимание автора-темы на то, что очередь событий далеко не всегда удобна (хотя, где таки удобна, то обычно незаменима). Cкpипaчпророк(319 знак., 19.04.2012 19:15)
- Несмотря на то, что с выворачиванием логики обработки наизнанку для работы с callback обработчиками событий, я уже наелся говна, ваше высказывание, что сканирование приведет к улучшение читабельности и ускорению кода, звучит бездоказательно и bialix(12 знак., 20.04.2012 11:18)
- Ссылки внутре Cкpипaчпророк(225 знак., 20.04.2012 17:18)
- Это тот случай (не выворачивание наизнанку), когда простота хуже воровства. Выворачивание наизнанку позволяет перейти к честному (а не прикрученному поверх того же биглупа) event driven programming и избавиться таки от big loop. Другой вопрос, что fk0легенда(230 знак., 19.04.2012 22:20)
- Это если ЦЕЛЬ ТАКАЯ - перейти к event drived :) Я предлагаю ОТКАЗАТЬСЯ от event drived. - Cкpипaчпророк(20.04.2012 20:23)
- Очередь, очередь ... если быстродействие обеспечивает, зачем очередь? - VL(19.04.2012 22:40)
- очередь нужна хотя бы для того, чтобы разделить границы различных модулей и различной функциональности и упростить тестирование отдельных модулей как "черных" ящиков. - bialix(20.04.2012 11:19)
- Все так условно. Рассмотрим на примере клавиатуры PC. VL(670 знак., 20.04.2012 12:15)
- не перекручивайте. очередь - это очередь. т.е. набор элементов, упорядоченных друг за дружкой по какому-то принципу. например, по принципу FIFO: первый пришел, первый пошел в обработку. принципы упорядочивания могут быть другими. нет ничего bialix(64 знак., 20.04.2012 15:17)
- Стоял, еще в хрущевские годы, за манкой :) Эй, событие, на килограмм. - VL(20.04.2012 15:47)
- не перекручивайте. очередь - это очередь. т.е. набор элементов, упорядоченных друг за дружкой по какому-то принципу. например, по принципу FIFO: первый пришел, первый пошел в обработку. принципы упорядочивания могут быть другими. нет ничего bialix(64 знак., 20.04.2012 15:17)
- Все так условно. Рассмотрим на примере клавиатуры PC. VL(670 знак., 20.04.2012 12:15)
- быстро-быстро давим дребезг контактов:)) - Vit(19.04.2012 22:53)
- Ну да, всё в стиле автора - смешать в кучу и дребезг, и события, и состояния. - VL(20.04.2012 06:30)
- очередь нужна хотя бы для того, чтобы разделить границы различных модулей и различной функциональности и упростить тестирование отдельных модулей как "черных" ящиков. - bialix(20.04.2012 11:19)
- +2 - Vit(19.04.2012 22:34)
- Несмотря на то, что с выворачиванием логики обработки наизнанку для работы с callback обработчиками событий, я уже наелся говна, ваше высказывание, что сканирование приведет к улучшение читабельности и ускорению кода, звучит бездоказательно и bialix(12 знак., 20.04.2012 11:18)
- Вечно фантазии. С коих пор событие стало "естественным" понятием? Событие - это сообщение, сгенерированное ПО и ничего "естественного" в embedded оно не несет, скорее требует дополнительных ресурсов для своей поддержки. blackbit(76 знак., 20.04.2012 00:40)
- Это детали реализации, разные подходы реализации одного и того же. От переназывания "события" в переменную в массиве памяти, ничего принципиально не меняется, кроме того, что будет сложнее обеспечивать синхронизацию между прерыванием и основным bialix(8 знак., 19.04.2012 14:59)
- Не спорю, можно и битовую переменную назвать событием, но обычно идет речь о другом. Cкpипaчпророк(307 знак., 19.04.2012 16:20 - 16:25)
- называть событием состояние "нет события" -- это логическое противоречие. событие -- это событие, а состояние -- это состояние. зачем мешать их в кучу? состояние статично, события динамичны - они возникают и исчезают. очередь событий -- это bialix(175 знак., 19.04.2012 17:23)
- если событий нет, то состояние очереди событий - "очередь пуста" :) - Vit(19.04.2012 18:06)
- опять "состояние". - bialix(19.04.2012 20:02)
- именно - Vit(19.04.2012 21:21)
- вот - bialix(20.04.2012 11:14, ссылка)
- там нет очереди - Vit(20.04.2012 11:22)
- ты видишь суслика? нет! а он есть. bialix(65 знак., 20.04.2012 11:24)
- чтобы подразумевать нужны умолчания:) Vit(177 знак., 20.04.2012 11:59, ссылка)
- вот здесь начало дискуссии, где четко сказано, что речь идет про очередь. - bialix(20.04.2012 15:12, ссылка)
- "Очередь состояний" не то же, что очередь событий,- "нечто несуществующее"(С)bialix. Т.е. её нет:) Но без состояний (не менее 2-х) событий не получить, потому как событие это сообщение об изменении состояния (некоторого объекта). Но очередь тоже Vit(55 знак., 21.04.2012 10:00 - 10:13, ссылка)
- вы наверное не внимательно читаете, извините. по ссылке, цитата bialix(313 знак., 23.04.2012 13:27, ссылка)
- читаю как умею - "извините. по ссылке, цитата"(С) - очередь состояний -- это уже нечто несуществующее - Vit(24.04.2012 00:19, ссылка)
- все верно. не бывает очереди состояний, а бывает очередь событий. bialix(441 знак., 24.04.2012 14:26)
- Весна, а Вы так серьёзны. Чаще обращайте внимание на смайлики:) Vit(200 знак., 24.04.2012 15:55, ссылка)
- ок. - bialix(24.04.2012 18:57)
- Весна, а Вы так серьёзны. Чаще обращайте внимание на смайлики:) Vit(200 знак., 24.04.2012 15:55, ссылка)
- все верно. не бывает очереди состояний, а бывает очередь событий. bialix(441 знак., 24.04.2012 14:26)
- читаю как умею - "извините. по ссылке, цитата"(С) - очередь состояний -- это уже нечто несуществующее - Vit(24.04.2012 00:19, ссылка)
- Очередь состояний - это вероятно что-то вроде конвейера :-)) - =AlexD=(21.04.2012 10:22)
- Или сепаратора:) - Vit(21.04.2012 10:27)
- вы наверное не внимательно читаете, извините. по ссылке, цитата bialix(313 знак., 23.04.2012 13:27, ссылка)
- "Очередь состояний" не то же, что очередь событий,- "нечто несуществующее"(С)bialix. Т.е. её нет:) Но без состояний (не менее 2-х) событий не получить, потому как событие это сообщение об изменении состояния (некоторого объекта). Но очередь тоже Vit(55 знак., 21.04.2012 10:00 - 10:13, ссылка)
- вот здесь начало дискуссии, где четко сказано, что речь идет про очередь. - bialix(20.04.2012 15:12, ссылка)
- чтобы подразумевать нужны умолчания:) Vit(177 знак., 20.04.2012 11:59, ссылка)
- ты видишь суслика? нет! а он есть. bialix(65 знак., 20.04.2012 11:24)
- там нет очереди - Vit(20.04.2012 11:22)
- вот - bialix(20.04.2012 11:14, ссылка)
- именно - Vit(19.04.2012 21:21)
- ...или очередной прочитанный элемент имеет значение "нет событий". Cкpипaчпророк(195 знак., 19.04.2012 19:22)
- строго говоря EV_NO_EVENT событием не является. Вы пытаетесь ввести в заблуждение окружающих и возможно себя. bialix(1312 знак., 20.04.2012 11:12 - 11:14)
- опять детали реализации. - bialix(19.04.2012 20:03)
- ...а я говорю о другом ПОДХОДЕ Cкpипaчпророк(336 знак., 19.04.2012 21:24 - 21:26)
- извините, но в данном случае я не имею представления о чем вы говорите, глядя на кусок кода, вырванный из контекста. - bialix(20.04.2012 11:13)
- Mazur спросил: "Как сделать введение новых режимов простым". Мой ответ: "отказаться от чистой событийной модели и введение новых режимов (новых состояний автомата) станет простым". - Cкpипaчпророк(20.04.2012 16:57)
- Но мы-то знаем, что правильный ответ такой: "Отказаться уже от ассемблера, использовать язык Си и методы модульного программирования". - SciFi(20.04.2012 18:14)
- Мы то знаем, что язык Си ничем не поможет. - VL(20.04.2012 18:26)
- ...и знаем что mazur не сдержал обещание от программирования перейти к проектированию. Cкpипaчпророк(115 знак., 20.04.2012 20:02)
- Мы то знаем, что язык Си ничем не поможет. - VL(20.04.2012 18:26)
- аргументируйте ответ. - bialix(20.04.2012 18:10)
- ... и приведите доказательство аксиомы :) Cкpипaчпророк(238 знак., 20.04.2012 19:59)
- Все что вы сказали - правильно, однако это НИ РАЗУ не говорит о том, что использование СОБЫТИЙ делает читабельность НИЖЕ. Вы привели 2 крохотных кусочка кода, в каждом из которых есть switch, но нет никаких комментариев, как вы себе предполагаете bialix(3192 знак., 23.04.2012 13:51)
- Не обижайтесь, но весь написанный вами (безусловно, умный и правильный) текст годится только в роли доказательства постулата: "программирование и проектирование ПО - разные вещи". Cкpипaчпророк(56 знак., 26.04.2012 00:41 - 00:59, ссылка)
- Все что вы сказали - правильно, однако это НИ РАЗУ не говорит о том, что использование СОБЫТИЙ делает читабельность НИЖЕ. Вы привели 2 крохотных кусочка кода, в каждом из которых есть switch, но нет никаких комментариев, как вы себе предполагаете bialix(3192 знак., 23.04.2012 13:51)
- ... и приведите доказательство аксиомы :) Cкpипaчпророк(238 знак., 20.04.2012 19:59)
- Но мы-то знаем, что правильный ответ такой: "Отказаться уже от ассемблера, использовать язык Си и методы модульного программирования". - SciFi(20.04.2012 18:14)
- Mazur спросил: "Как сделать введение новых режимов простым". Мой ответ: "отказаться от чистой событийной модели и введение новых режимов (новых состояний автомата) станет простым". - Cкpипaчпророк(20.04.2012 16:57)
- извините, но в данном случае я не имею представления о чем вы говорите, глядя на кусок кода, вырванный из контекста. - bialix(20.04.2012 11:13)
- ...а я говорю о другом ПОДХОДЕ Cкpипaчпророк(336 знак., 19.04.2012 21:24 - 21:26)
- опять "состояние". - bialix(19.04.2012 20:02)
- если событий нет, то состояние очереди событий - "очередь пуста" :) - Vit(19.04.2012 18:06)
- называть событием состояние "нет события" -- это логическое противоречие. событие -- это событие, а состояние -- это состояние. зачем мешать их в кучу? состояние статично, события динамичны - они возникают и исчезают. очередь событий -- это bialix(175 знак., 19.04.2012 17:23)
- Не спорю, можно и битовую переменную назвать событием, но обычно идет речь о другом. Cкpипaчпророк(307 знак., 19.04.2012 16:20 - 16:25)
- Это называется KISS. Не согласен, на счёт потерь. Потери на обработку одного события в настоящей событийной системе могут на порядок быть больше (процессорное время, джоули батарейки). Но вот в сумме на единицу времени -- скорей наборот. Главный fk0легенда(167 знак., 19.04.2012 22:11 - 22:24)