Igor, ты ещё здесь сидишь?
Вторник Июнь 13 2006 09:15, Igor Havtorin wrote to George Shepelev:
GS>> В реальной жизни работа над проектом отнюдь не заканчивается в GS>> момент реализации ТЗ. Сразу начинается стадия сопровождения, GS>> когда может потребоваться ликвидация "неточностей реализации" GS>> (некоторые из них могли быть заложены даже в самом ТЗ). При этом GS>> далеко не факт, что не потребуется "расширять" код в контроллере. IH> Так запас, как известно, карман не тянет - выбери контроллер немного IH> "на вырост" и будет тебе счастье.
Далеко не факт. Погляди _реальные_ проекты, развивавшиеся много лет (к примеру эпопею с АОHами на Z80).
IH> Кстати, у С в этом случае есть определенное преимущество - некоторое IH> дополнительное место можно изыскать, "вручную" оптимизируя наиболее IH> "рыхлые" места,
Hесколько раз видел, как при подобных попытках проект "разваливался".
IH> а в случае асма может случиться описанная когда-то здесь "история IH> одного байта".
"История одного байта" - наглядная иллюстрация того, что заметный запас весьма желательно оставлять!
GS>> А часто приходится модернизировать изделие, существенно GS>> увеличивая функциональность. И вот тут на первый план выйдет GS>> вопрос, влезет всё это в контроллеры, которые доступны на рынке, GS>> или придётся перепроектировать всё изделие под совершенно другой GS>> контроллер. Разницу в цене этих двух вариантов улавливаешь? IH> Чем наиболее примечательны PICи, так это возможностью практически IH> всегда подобрать более "ресурсовый" кристалл, при полной совместимости IH> по ногам,
К счастью теперь - да. Я ещё хорошо помню времена, когда "флэшевые" кристаллы были представлены единственным чипом, причём с крайне убогой периферией...
IH> а если роялит именно цена, то заказчик заранее уведомляется IH> об ограниченности дальнейшей расширяемости.
Тем не менее никто не мешает заложить дальнейшую расширяемость "на вырост". К примеру, не задействовать у контроллера ножки UART, ADC и PWM - даёт массу возможностей увеличения функциональности.
IH> Резюме: я не спорю, что на асме выходит более компактный
и быстрый
IH> код (я сам лет 10 на асмах писал), просто на ЯВУ писать быстрее,
Зачастую важнее качество, а не скорость...
IH> результат более переносим (не так давно переводил один проект с PIC16 IH> на PIC18 - нескольких часов хватило),
Hе думаю, что это было бы сложно проделать на ассемблере.
IH> и разобраться в коде сбособно гораздо большее число людей.
В основном это зависит не от языка, а от стиля программирования. Если при написании программы исходить из того, что в ней должен легко разобраться посторонний человек - проблем не будет. Если делать по принципу "лишь бы побыстрее набрать" - проблемы будут.
Георгий