Re[10]: Разработка на чистом C
От: landerhigh Пират  
Дата: 01.11.16 10:22
Оценка: +1
Здравствуйте, kov_serg, Вы писали:

L>>_>Пример ситуация: у вас крутится N конечных автоматов.

L>>Дальше можно было не продолжать.
_>Как нистранно микроконтлоллеры по такой схеме управляют оборудованием и всё работает как часы.

Конечный автомат не обрабатывает исключительные ситуации. По определению. Все события КА ожидаемы, иначе это не КА.
Поэтому пытаться доказать "ущербность" исключений, приводя в пример КА, есть демагогия и передергивание.

_>И обработка ошибок можно сделать очень по детски, но при этом будет работать и все ресурсы будут освобождены.

_>
_>void fn() {
_>  if (init()) { perror("init"); exit(1); }
_>}
_>


Ага, ровно до того момента, пока функция init() не начинает захватывать второй, третий, двадцать пятый ресурс. Не надо сказки рассказывать

_>А вот на C++ не сможете так написать, не потому что это невозможно, а потому что другая парадигма.


На C++? Могу, какие проблемы позвать exit в случае облома? Только зачем?
А вот слабо изобразить функцию init(), которой требуется корректно захватывать более одного ресурса и корректно освобождать все ранее захваченные в случае облома одного, и которая не превращается в страшенное сплетение макарон или очередной пример подхода "C++ плохой, поэтому мы эмулируем деструкторы вручную" на чистом Си?

_>И какой-нибуть серверный hello world будет генерировать гигабайтные war файлы.


А если у бабушки будет сами знаете что, то....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.