|
1)А на самом деле ассм действительно развивает гибкость ума.
>> Согласен. Но в применении ЯВУ (того же C|C++ for embenders)
всё в тойже мере и с не меньшим успехом.
__________________________________________________________________
2) А по моему глубокому убеждению программист просто обязан
представлять себе архитектуру процессора (это для всех)
и в обязательно должен знать особенности исполнения команд процессора (это для эмбеддеров). Естественно основная задача программиста, зная инструмент и возможности железа оптимальным образом постараться режить поставленную задачу, то бищь настоящий программист должен в совершенстве владеть искусством построения алгоритмов, а знание всяческих извращённых приёмов программирования это высшее мастерсто, граничащее с патологией. :) Тут уж у кого как получается....
>> Абсолютно верно . Это всё равно, что знать "Кто твоя мама. Как её
зовут"
__________________________________________________________________
3) Т.о. получаем, что знание ассемблера (хотя бы на элементарно-начальном уровне) для программиста - обязательно (таковы уж реалии), а инструмент (язык) которым он реализует свои замыслы - не так уж и важен, главное умение решать с его помошью поставленные задачи.
>>Да!Весьма желательно(касаемо знания на элементарно-начальном уровне ассемблера). Но не совсем. И в некоторых обстоятельствах, иногда это не строго обязательно. Вот тут как раз ОЧЕНЬ ВАЖЕН ваше резюме в пункте 2). Объясняю на типичном примере.
Я сажусь, например, за MSP430xxx. Окунаюсь в 500 страничный толмуд о TI (наверно знакомы с таковым :)) Внимательно Изучаю архитектуру, ИМЕННО АРХИТЕКТУРУ, в первую очередь (присовокупив ещё ряд технических документов.). На аппаратном (регистровом, системном (прерывания, настройки, конфигурациии т.п) уровне прикидываю основные режимы предстоящей программы и... Запускаю IAR EWW xxx
А, что потом..ВСЁ (потом). Никакого ассемблера. Эффективности кода компиляции с языка С (при,почти, полном задествовании аппаратных, вычислительных средств).. и задача решена. В результате "ОПП-ПА!": ни строчки [ASM]! И быстродействие процессов лежит в микросекундных интервалах.
Ведь можно-можно (но есть и сфера задач, где в каком-то участочке кода нужна скорострельность ASM-вставочки). Но в большинства случаев на сегодняшний день (с явнй тенденцией роста ресурсоёмкомсти HARD'а/при снижении удельной цены и совершенства SOFT'а) можно и без ASM (повторюсь "Если можно, конечно" :)).
______________________
P/S. Боже! Сколько же раз поднималась эта тема "ASM vs C|C++"!
Но, иногда для зарядки... не выдержишь и запостишь энту тему.
E-mail: info@telesys.ru