Другие языки программирования и технологии
какие приимущества в Ассемблере против С++ ,Паскаль , Делпхи и т.д. ?
Высокая скорость работы и меньший размер исполняемого файла
1) только на асме возможен реверсинг уже написанной программы (нельзя же ее раскомпилировать на си )
2) можно лазить по компу изнутри а не через ООП оболочку
3) оптимизирует асм код не тупой компилятор а живой программист
4) времени поспать действительно не остается.. .
ну а остальное уже писали
2) можно лазить по компу изнутри а не через ООП оболочку
3) оптимизирует асм код не тупой компилятор а живой программист
4) времени поспать действительно не остается.. .
ну а остальное уже писали
Ассемблер - это "возможно всё", если даже компилятор не поддерживает каких-то опкодов, их можно эмулировать db/dw/dd.
Используется в основном для работы с оборудованием на низком уровне, написания критичного кода, написания нетипичных программ (загрузчиков ОС и т. п.) , написания нестандартного по формату кода (не *.exe).
Используется в основном для работы с оборудованием на низком уровне, написания критичного кода, написания нетипичных программ (загрузчиков ОС и т. п.) , написания нестандартного по формату кода (не *.exe).
Программируешь непосредственно железо - CPU. И есть полный доступ ко всем его возможностям. А языки высокого уровня к сожалению такой доступ ограничивают. На этом преимущества заканчиваются и перерастают в недостатки.
Ты должен учитывать какой процессор (у всех есть свои особенности, и для каждого - свой ассемблер) .
То что будет работать быстрее - совершенно неоднозначно. Это нужно сначала написать так, чтобы работало быстрее.
Почему то многие наивно полагают, что оптимизировать код можно одинаковым образом для любого процессора. И что живой программист обязательно сделает лучше тупого компилятора.
И живой программист может быть тупым. И знать ему нужно очень много про все эти процессоры, все их особенности, для каждого писать отдельную оптимизацию, и не забывать где и под какой процессор у него что оптимизировано. Рутина просто мегатоннами.
А "тупые" компиляторы и оптимизаторы написаны вообще то совсем не тупыми программистами. И дело свое они делают быстро и лучше живого программиста. Я сам в этом убедился на собственном опыте. Когда писал движки для хешей, то у меня так и вышло ассемблерные версии MD4, MD5 работали немного быстрее, а остальные (SHA-1, SHA256, SHA384, SHA512) - медленнее, чем их Си-плюс-плюс версии. Хотя я полагал, что абсолютно все оптимизировал максимальным образом. Но "тупой" компилятор CPP сделал лучше, чем я. Ломать голову дальше не стал. Так что в настоящее время ассемблер - это мартышкин труд, особенно, если это касается прикладного программирования.
Ты должен учитывать какой процессор (у всех есть свои особенности, и для каждого - свой ассемблер) .
То что будет работать быстрее - совершенно неоднозначно. Это нужно сначала написать так, чтобы работало быстрее.
Почему то многие наивно полагают, что оптимизировать код можно одинаковым образом для любого процессора. И что живой программист обязательно сделает лучше тупого компилятора.
И живой программист может быть тупым. И знать ему нужно очень много про все эти процессоры, все их особенности, для каждого писать отдельную оптимизацию, и не забывать где и под какой процессор у него что оптимизировано. Рутина просто мегатоннами.
А "тупые" компиляторы и оптимизаторы написаны вообще то совсем не тупыми программистами. И дело свое они делают быстро и лучше живого программиста. Я сам в этом убедился на собственном опыте. Когда писал движки для хешей, то у меня так и вышло ассемблерные версии MD4, MD5 работали немного быстрее, а остальные (SHA-1, SHA256, SHA384, SHA512) - медленнее, чем их Си-плюс-плюс версии. Хотя я полагал, что абсолютно все оптимизировал максимальным образом. Но "тупой" компилятор CPP сделал лучше, чем я. Ломать голову дальше не стал. Так что в настоящее время ассемблер - это мартышкин труд, особенно, если это касается прикладного программирования.
1. Можно использовать все возможности аппаратуры.
1.1. Наиболее тесное взаимодействие с ресурсами ОС.
2. Программа, как правило, работает быстрее
3. У программиста не остается свободного времени для сна, еды, друзей и другой бесполезной чепухи)
1.1. Наиболее тесное взаимодействие с ресурсами ОС.
2. Программа, как правило, работает быстрее
3. У программиста не остается свободного времени для сна, еды, друзей и другой бесполезной чепухи)
главное примущество что программер общается напрямую с машиной.. .
Assembler - язык машины... .
Assembler - язык машины... .
С нынешними компиляторами ассемблер - баловство, тренажёр для мозга.
Михаил Юрьевич
3. У программиста не остается свободного времени для сна, еды, друзей и другой бесполезной чепухи)
Это в точку !
3. У программиста не остается свободного времени для сна, еды, друзей и другой бесполезной чепухи)
Это в точку !
Похожие вопросы
- Почему программисты, сидящие здесь, хотят, чтобы в школах вместо паскаля изучали С++ C# и т.д.?
- помогите. паскаль. приведите пример програмы в паскале,любую program P1 var и т.д.
- Во сколько раз ассемблер сложнее Турбо Паскаля?
- Что значит программировать на чистом Си, Бейсике, Паскаль и т. д.?
- Используется ли язык Паскаля для создания каких нибудь программ, модов, и т. д? Схож ли он с каким нибудь языком?
- По поводу битов, байтов и т. д.
- вчера поймал баннер виндовс заблокирован и т. д. откатил систему вроди все норм. но сегодня стала твориться мистика.
- Как выучиться на программиста в домашних условиях. Какие хорошие книги и т.д. Какие хорошие книги и т.д
- Реально ли научиться хорошо рисовать, не учившись в художественной школе или в институте на художественном и т. д.
- В пн. выхожу на работу в компанию которая занимается разработкой веб-сайтов, флеш сайтов, флеш-игр и т. д. ПОМОГИТЕ!!!