Re[3]: Есть ли смысл изучать Ассемблер ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.06.02 20:35
Оценка: 12 (1)
Здравствуйте Eugene, Вы писали:

E>Более того, я знаю людей, кому этот опыт просто мешал начать мыслить другими категориями.


Скорее всего эти люди или начинали с асм-а, или слишком много на нем проработали.

E>Может я слишком буквально понимаю слово "изучать"? Одно дело — бегло ознакомиться с архитектурой процессора и системой команд, другое дело "изучать".


Здесь скорее речь идет об ознакомлении.

ХД>>На самом деле, С -- это достаточно тонкая оболочка для языка асемблера, который, в свою очередь, скрывает за собой машинные коды.

E>Думаю, Керниган и Риччи обиделись бы, не говоря уже о Страуструпе — пыхтели, пыхтели и ...

Не... В его словах очень большая доля правды. Ричи создавал С именно как замену ассемблеру для написания системного кода (тодгда ОС). И он воспринимал с как оптимальный кодогенератор (уж он то точно какой код знал превратится в какие инструкции). Так что такая метафора имеет право на жизнь.

E>...если при отладке прикладной программы, написанной на С/С++ приходится лезть в ассемблерный код, — это плохой признак. IMHO — одно из качеств того самого умения программировать, о котором говорилось выше, и есть умение быстро находить ошибки том уровне, где они сделаны.


А кто тебе сказал, что все ошибки делает сам программист? Иногда встречаются наложения абстоятельств, иногда чужие проходы по памяти, а иногда глюки коппилятора или ОС. Вот тогда знание асм-а (пусть даже и поверхностное) очень пригодится. Но перегибать и лезть в дизасемблер при первом подозрении конечно не стоит.

E>Можно и с осциллографом на шину полезть, чтобы в конце концов убедиться, что "ларчик просто открывался" — надо было MSDN (или RSDN повнимательнее почитать.


Главное научится понимать когда нужно лезть в MSDN/RSDN, а когда в дизасемблер.

E>Хотя... всякое бывает, конечно


Во-во!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.