Сматрите из этого вопроса читайте первый ответ Насколько актуальное сейчас знание Assembler ?
Как понять > 2. на ассемблере можно писать такие программы которые работают ВНЕ ОС. т. е. на микроуровне. < Как это понять?
И вапше Ассемблер лутше изучать? Опишите мне плюсы и минусы
Другие языки программирования и технологии
Плюсы и минусы Ассемблера
Смысл использования ассемблера - в скорости и весе результата за счёт сложности разработки. Есть но, не всякая программа, написанная на асм обязательно будет быстрее/меньше, т. к. это сильно зависит от способностей разраба. Что касается "стоит" или "не стоит", то тут опять же зависит от самого человека. Можно потратить некоторое время на написание некоторого количества относительно простых задач, понять что к чему и не задаваться подобными вопросами, но уже зная, как и для чего асм использовать. Более того, знание асм существенно облегчает понимание основных вещей, используемых в С++, нпрм - адресация. Вновь вводимые системы команд разработчика железа - это асм команды
В реальности, таких задач, где время/объём критичны может и не встретиться. Драйверы пишут ограниченное количество людей, а мейнстриму этого не надо.
В реальности, таких задач, где время/объём критичны может и не встретиться. Драйверы пишут ограниченное количество людей, а мейнстриму этого не надо.
"Как понять > 2. на ассемблере можно писать такие программы которые работают ВНЕ ОС. т. е. на микроуровне. < Как это понять? "
Языки программирования высокого уровня рассчитаны на работу в операционной системе, которая уже имеет громадные библиотеки готовых подпрограмм. Ассемблер же позволяет не пользоваться библиотеками операционной системы (хотя можно их и использовать) . Или писать специализированные такие библиотеки для ОС. Но Ассемблер рассчитан на очень детальное описание всех действий компьютера, поэтому в нем сейчас есть смысл только при написании ядер новых ОС или драйверов устройств.
Языки программирования высокого уровня рассчитаны на работу в операционной системе, которая уже имеет громадные библиотеки готовых подпрограмм. Ассемблер же позволяет не пользоваться библиотеками операционной системы (хотя можно их и использовать) . Или писать специализированные такие библиотеки для ОС. Но Ассемблер рассчитан на очень детальное описание всех действий компьютера, поэтому в нем сейчас есть смысл только при написании ядер новых ОС или драйверов устройств.
если брать поверхностно:
плюсы:
- так как пишите мнемо-код, полное понимание работы кода
- так как пишите мнемо-код, он же и отображается в дебагере, да и вообще отладка программ дается легче, можно и повзламывать программки
- трактовка данных - как угодно
- быстрота и минимизация и оптимизация кода
- доступ более тонким механизмам системы и к аппаратной части
минусы:
- более сложные программы особо не написать - интерфейс нужно постоянно с нуля писать (пример: создание формы в делфи, да еще с компонентами - накидал и готово)
- если захотеть написать какой нибудь визуальный компонент, время убьется очень много
- мало полезных библиотек.
вывод: знать все таки стоит, так как там не очень много да и пригодится (если задумаете серьезно влезать в программирование, ну кроме вэб конечно)
плюсы:
- так как пишите мнемо-код, полное понимание работы кода
- так как пишите мнемо-код, он же и отображается в дебагере, да и вообще отладка программ дается легче, можно и повзламывать программки
- трактовка данных - как угодно
- быстрота и минимизация и оптимизация кода
- доступ более тонким механизмам системы и к аппаратной части
минусы:
- более сложные программы особо не написать - интерфейс нужно постоянно с нуля писать (пример: создание формы в делфи, да еще с компонентами - накидал и готово)
- если захотеть написать какой нибудь визуальный компонент, время убьется очень много
- мало полезных библиотек.
вывод: знать все таки стоит, так как там не очень много да и пригодится (если задумаете серьезно влезать в программирование, ну кроме вэб конечно)
Код на ассемблере описывает операции, выполняемые непосредственно железом. Т. е. пишется программа, которой не нужны никакие API и иже с ними, но для создания программы нужно описать как минимум часть задач, выполняемых ОС (а в конечном счёте - все) в рамках выполнения операций конкретной программой.
Чтобы лучше понять, в чём разница, почитайте про функции, выполняемые ОС и, в частности, про различные API. Затем представьте, что всего этого нет, а программисту доступны только "машинные команды". Вот и разница.
P.S.: Крупная программа, написанная на Ассемблере, будет как минимум пратформозависимой. И в большинстве случаев - аппаратнозависимой. Это из-за того, что управление железом зашито в самой программе, а не использует функции ОС.
Чтобы лучше понять, в чём разница, почитайте про функции, выполняемые ОС и, в частности, про различные API. Затем представьте, что всего этого нет, а программисту доступны только "машинные команды". Вот и разница.
P.S.: Крупная программа, написанная на Ассемблере, будет как минимум пратформозависимой. И в большинстве случаев - аппаратнозависимой. Это из-за того, что управление железом зашито в самой программе, а не использует функции ОС.
Да почитайте Вы хоть в Википедии о языках низкого уровня, что на них пишут, потом о языках высокого уровня, что на них пишут. И вопрос отпадет. Если популярно, то писать до черта.
Это все равно что строить дом из песчинок.
Большая свобода действий, но слишком долго и легче допустить ошибку.
Сейчас обычно пишут на ЯВУ с ассемблерными вставками. Для этого идеально подойдет PureBasic, потому что он полностью поддерживает ассемблер, и не удивительно, ведь у его компилятор FASM.
Большая свобода действий, но слишком долго и легче допустить ошибку.
Сейчас обычно пишут на ЯВУ с ассемблерными вставками. Для этого идеально подойдет PureBasic, потому что он полностью поддерживает ассемблер, и не удивительно, ведь у его компилятор FASM.
Похожие вопросы
- Добрый день. Подскажите пожалуйста плюсы и минусы ассемблера тасм, а так же его преимущества, например перед фасмом?
- Хочу узнать плюсы и минусы профессии программиста, хочу учиться на программиста,как востребованы программисты и какие ве
- Хорошая ли профессия программист?? ? Напишите пожалуйста свои мнение об этой профессии а также плюсы и минусы
- Языки программирования плюсы и минусы
- Какие плюсы и минусы в профессии программист?
- Скажите пожалуйста плюсы и минусы независимого дизайнера (фрилансера)?
- Как вы относитесь к флэш-сайтам? Стоит их разрабатывать.? Какие у них плюсы и минусы?
- Стоит ли установить Windows Vista? Плюсы и минусы, подскажите пожалуйста!
- Хочу поставить windows 7. Какие плюсы и минусы?
- ПРОГРАММИСТ: Плюсы и минусы и что в этой профессии хорошего