|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Mike Bolshakoff 2:5020/400 21 Oct 2002 22:33:37 To : Alexey Desyatnik Subject : Re: HELP --------------------------------------------------------------------------------
Hi, Alexey Desyatnik!
В качестве некоторого итога, пока [ко]модератор окончательно не
прикрыл этот топик. Hичо, шо я такой наглый? ;)
Кажется, весь флейм свелся к потивостоянию тех, кто владеет асмом,
и тех, кто не :)
Cерьезно, давайте оставим в стороне обсуждение необходмости
фундаментальных знаний, поскольку это бесспорно. Равно как и призывы
"Лишнее знание вредно!", потому что лажа это.
Мне кажется, что вопрос лежит в двойственности понятий "прогаммист"
и "ассемблер".
В разрезе данного обсуждения, лучше поделить оба понятия пополам:
1. Ассемблер - это:
1.1. Язык ассемблера, т. е. язык конкретной программы,
перерабатывающей менмоническое обозначние машинных команд
неокоторого процессора в сами команды. Включая в понятие "язык"
всякие условности типа seg para 16 .386 .stack macro struct и всю
остальную фигню, имеющую отношение больше к прихотям разработчика
ассембера, чем к набору команд процессора.
1.2. Собственно набор команд процессора. Кажется, путаница идет
оттого, что никто не воспринимает машинный код как
последовательность нулей и единиц (что было бы правильно), а все
воспринимают его сквозь призму мнемоник какого-либо языка
ассемблера.
2. Программист - это:
2.1. Условино назовем "кодировщиком" кренделя, который имеет своею
задачею реализовать некоторую конкретуную задачу на некоем языке
программирования. Это может быть и чек, работающий кодировщиком в
составе большого проекта, но также и хлопец, в одиночку лабающий
некую утиль, либо подпрограмму, имеющую дело с железом, и пр.
Отличительной особенностью этого типа будеи считать вот что:
Кодировщик имеет дело с _конкретными_ ОС, компилятором, процессором
и другим железом. В отличие от:
2.2. "Разработчика", который разрабатывает полностью
отвлеченную от железа блок-схему. Опять же либо в составе проекта,
либо в одиночку но на языке столь высокого уровня (каком-нть
скрипте), что ограничен только высокоуровневыми понятиями.
(Мимоходом осмелюсь высказать такую мысль: большинство программистов
попадают в первую группу.)
Кому-то терминология может показаться неудачной, но не будем
придираться к словам, друзья! Раз все согласны, идем дальше.
1. Для "разработчика" ни какой-либо язык ассемблера, ни машинный
код не представляют абсолютно никакого интереса, и от знания,
либо от незнания оных для себя ни он, ни его программа ничего не
вынесут. Точка.
2. С другой стороны, ассемблер давно потерял свое значение как
средство написания _программ_. HО: ассемблер не потерял и никогда
не потеряет своего занчения как средство написания _под_программ
(фрагментов драйверов, фирмварей, протчей лабуды).
3. Таким образом мы пришли к последнему варианту: "кодировщик"
против "машинного кода". В данном случае, напомню, мы ограничены
одним лишь железом (в частности процессором), одним компилятором,
и одной ОС. В этом конкретном случае, из двух кодировщиков,
один из которых владеет машинным кодом целевой системы, а
второй нет, наиболее эффективный код на любом языке
программирования напишет первый. Ша. Эта адназначна (с)
С уважением,
Mike W. Bolshakoff
<mailto:ttw@eurocom.od.ua>
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/73049f38ee91.html, оценка из 5, голосов 10
|