Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
30th
Сен
Нужен ли ассемблер программистам?
Posted by Chas under Общалка
Всем доброго здравия! СО вчерашнего дня спорил на одном форуме с людьми, которые доказывали мне, что АСМ не нужен и не пригодится современному поколению программистов(то бишь асм бесполезен, он низкий, сейчас плюсы рулят), а я им обратное. Скажите, реально ли АСМ никому ненужный низкоуровневый ЯП! Я возмущен их выводами, поэтому господа, спрашиваю у вас, если он поправде никому не нужен, то значит я проиграл, битву с мировой войной. Все зависит от вашего мнения.
bitix
Достоинства
- Язык ассемблера позволяет писать самый быстрый и компактный код, какой вообще возможен для данного процессора.
- Если код программы достаточно большой, — данные, которыми он оперирует, не помещаются целиком в регистрах процессора, то есть частично или полностью находятся в оперативной памяти, — то искусный программист, как правило, способен значительно оптимизировать программу по сравнению с транслятором с языка высокого уровня по одному или нескольким параметрам:
- скорость работы — за счёт оптимизации вычислительного алгоритма и/или более рационального обращения к ОП, перераспределения данных;
- объём кода (в том числе за счёт эффективного использования промежуточных результатов). (Сокращение объёма кода также нередко повышает скорость выполнения программы.)
- Обеспечение максимального использования специфических возможностей конкретной платформы, что также позволяет создавать более эффективные программы, в том числе менее ресурсоёмкие.
- При программировании на языке ассемблера возможен непосредственный доступ к аппаратуре, и, в частности, портам ввода-вывода, регистрам процессора и др.
- Язык ассемблера часто применяется для создания драйверов оборудования и ядра операционной системы (или машиннозависимых подсистем ядра ОС).
- Язык ассемблера используется для создания «прошивок» BIOS.
- С помощью языка ассемблера часто создаются машиннозависимые подпрограммы компиляторов и интерпретаторы языков высокого уровня, а также реализуется совместимость платформ.
- С помощью дизассемблера возможно исследовать существующие программы при отсутствии исходного кода.
Недостатки
- В силу машинной ориентации («низкого» уровня) языка ассемблера человеку сложнее читать и понимать программу на нём по сравнению с языками программирования высокого уровня; программа состоит из слишком «мелких» элементов — машинных команд, соответственно, усложняются программирование и отладка, растут трудоёмкость и вероятность внесения ошибок.
- Требуется повышенная квалификация программиста для получения качественного кода: код, написанный средним программистом на языке ассемблера, обыкновенно оказывается не лучше или даже хуже кода, порождаемого оптимизирующим компилятором для сравнимых программ, написанных на языке высокого уровня.[5]
- Программа на языке высокого уровня может быть перекомпилирована с автоматической оптимизацией под особенности новой целевой платформы[6], программа же на языке ассемблера на новой платформе может потерять своё преимущество в скорости без ручного переписывания кода.[7][8]
- Как правило, меньшее количество доступных библиотек по сравнению с современными индустриальными языками программирования.
- Отсутствует переносимость программ на компьютеры с другой архитектурой и системой команд.
а если есть необходимость быстро писать программу за один день, то естественно высокоуровневые яз.программирования в этом деле побеждают (C++, Java). Тут никто не спорит.
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)