Ну я же говорю - идеальноеYS писал(а):У-у-у, это Вы загнули.
Идеала достичь не так просто, если вообще возможно. Суть сказанного в другом - для эмбеддера хорошие навыки в области схемотехники не являются оправданием невежества в программировании, и наоборот. А самоутешение "я и так крут, учиться дальше незачем" (или еще более бестолковое "и так работает!"), возможно, способствует душевному равновесию, но в профессиональном плане вредит.
Кстати, пожалуй, пора подвести итог дискуссии на тему "что общего и что различного в программировании PC и МК", которая явно достигла стагнации и уже покидает границы здравого смысла. Предложу свой вариант ответа.
1. Что общего? Да почти все. Как прояснялось по ходу обсуждения, в программировании для МК доступны практически все инструменты, приемы и технологии, используемые в "большом" программировании.
2. Что различного? Режим жесткого реального времени. Это скорее исключение в мире PC, хотя при большом желании можно найти примеры, но для мэйнстрима жесткое реальное время все же нехарактерно. Для МК это скорее норма, в большинстве применений мы хотим как минимум знать, сколько времени будет выполняться та или иная операция, а лучше - гарантировать, что она уложится в заданные временные рамки.
Это весьма серьезное различие (для моделирования работы в реальном времени существует специальный профиль UML 2, я ранее уже давал ссылку на его описание), и его обязательно нужно принимать во внимание при проектировании. Других столь же серьезных различий не вижу (чур, вариант "труъ "большие" программисты бородаты и от них пахнет пивом, а эмбеддеры бреются, чтобы не припалить бороду паяльником, и пахнут жженой канифолью" не предлагать).
J. Ganssle


