Re: Есть ли смысл изучать Ассемблер ?
От: Хитрик Денис Россия RSDN
Дата: 12.06.02 17:21
Оценка: 11 (1)
Здравствуйте Mr-Twister, Вы писали:

MT>Изучая Си, кто то написал мне в одном из ответов: Учи ассемблер поможет.

MT>Интересно поинтерисоваться, стоит ли учить этот язык (с виду не простой), или достаточно ограничиться Си и в будущем Си++ ?

Встречный вопрос: а можно ли научиться программировать на компьютере, не зная как он работает?
Ответ: Смотря как программировать

Моё мнение таково: знание ассемблера позволит тебе больше узнать о машине, позволит понять, какие процессы ею управляют, что такое на самом деле твоя программа и что на самом деле она делает. Мне кажется, что именно это знание, понимание происходящего внутри компьютера и есть умение программировать.

Вернусь к своим вопросу и ответу. Если человек сегодня рисует в Access формочки и конструирует в нём же запросы, то это требует от него определённых знаний и умений. И эти знания будут относиться в основном к умению работать с самой программой и к способности человека ориентироваться в моделируемой предметной области.
Получается, что в таком случае человек взаимодействует с машиной уже не напрямую (ударение на слове "уже"). Только посредством довольно значительной прослойки.

С другой стороны, если посмотреть на программиста, который хочет разобраться в языке С с нуля ( ), то можно сказать следующее:
1) Та самая прослойка сведена к минимуму. Чем: самим выбранным языком. На самом деле, С -- это достаточно тонкая оболочка для языка асемблера, который, в свою очередь, скрывает за собой машинные коды. И не зря разработчики языка оставили такие вещи, как работа с памятью (всякие там указатели)
2) что-то хотел написать -- забыл
В этом случае уже можно сказать о том, что классный специалист по С обязан разбираться в том, как работает его машина. А для этого он изучает специальный язык -- язык ассемблера -- который и помогает в достижении этой цели, потому что не содержит ничего лишнего. Компьютер ведь не знает о таких вещах как процедура, цикл (не пинайте, если не прав. моё знание ограничивается ассемблером процессора Z80 )... А ещё нужно разобраться как пользоваться такой драгоценной вещью (ресурсом, если угодно) как память... Узнать, для чего нужны прерывания (здесь мы уже спускаемся к аппаратному обеспечению), а потом попробовать разобраться, как же так получается, что в Windows много программ работают одновременно...

О сколько нам открытий чудных
Готовит просвященья дух...



Кстати, мысль вслух, "учи ассемблер" не означает, что тебе нужно именно выучить язык ассемблера (ассемблер -- это программа к тому же). Это означает, что советуют разобраться с принципами функционирования работы компьютера. Т.е. это выражение не нужно понимать буквально

MT>Мои мысли. Техника движется. Вроде как не стоит на месте. Значит и процессоры, тоже меняются, и возможно в скором необозримом будущем, схема работы процессора может поменять свою структуру . Тобишь будет не ассемблер , а что то другое , работающее по другим принципам и механизмам, отличающихся от процессоров Интел.

MT>А языки Си и С++ просто переедут на другую систему и не поменяют свой синтаксис.
MT>Верно ?

А почему нас в школе заставляют (ну, кого как ) учить историю? Да просто чтобы знать куда идти в будущем, нужно знать, что уже было в прошлом! Плох тот народ, который забывает свою историю.
Так и в мире программирования: всё новое -- это хорошо забытое старое.

А насчёт того, что переедут на другую систему... Знаешь, наверное они всё-таки хороши именно для той системы, на которой сейчас используются. а для совершенно новой системы будет совершенно новый язык, который, тем не менее будет учитывать и сегодняшний программистский опыт.
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.