ЕСТЬ ЛИ БУДУЩЕЕ У АССЕМБЛЕРА? - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

ЕСТЬ ЛИ БУДУЩЕЕ У АССЕМБЛЕРА?

Моргунова О.М. 1, Абрамова О.Ф. 1
1Волжский политехнический институт (филиал) ВолгГТУ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

В настоящее время существует множество языков программирования. Но разобраться в них весьма не просто. В данной публикации мы рассмотрим ассемблер и постараемся понять есть ли у данного языка программирования будущее.

Если необходимо максимально быстро создать код, а также пошагово отследить процессы, выполняемые машиной, то ассемблер прекрасно справится с этой задачей.

По мнению Рудольфа Марека: «Ассемблер - это язык программирования низкого уровня, то есть максимально приближенный к «железу» — аппаратному обеспечению компьютера.» [6, стр.20].

Язык ассемблера – это машинно-ориентированный язык программирования низкого уровня. Язык ассемблера значительно облегчает написание кода, т.к. это символьная форма записи машинного кода. Для одной ЭВМ можно разработать различные языки ассемблера.

Множество проблем реализации алгоритмов спрятаны от программиста, поэтому языки высокого уровня абстракции сталкиваются с проблемами реализации алгоритмов. Ассемблер очень тесно связан с системой команд микропроцессора. «Собственно говоря, язык ассемблера — это всего лишь ориентированная на человека форма записи инструкций процессора (которые называются также машинным языком), а сам ассемблер — это программа, переводящая символические имена команд в машинные коды.», - считает Рудольф Марек.

Так как ассемблер – это язык процессора, то пока будут существовать различного вида процессоры, будет жив и ассемблер. Человек, знающий ассемблер, сможет не только разобраться в коде, написанном на языке высокого уровня, но и оптимизировать его. Знание ассемблера значительно упростит понимание архитектуры компьютера и работы его аппаратной части. Необходимо знать архитектуру процессора используемого компьютера для того, чтобы программа была написана грамотно, ведь язык ассемблера разрабатывается с учетом специфики процессора.

Самым главным плюсом ассемблера является «приближенность» к процессору, а самым главным минусом является деление типовых операций, ведь именно это очень тяжело воспринимается большинством людей. Несмотря ни на что, ассемблер отражает функционирование компьютера, гораздо сильнее остальных языков программирования.

Программа, которая работает правильно и быстро, занимает небольшой объем памяти, легко читается и понимается, модифицируется, создание которой требует небольшое количество времени и ресурсов, считается оптимальной программой. В современном мире, мнение большинства программистов сходится на том, что язык ассемблера необходимо использовать только для оптимизации программ, создавая только ассемблерные вставки в листинг, написанный на языке высокого уровня, а использовать его в чистом виде не стоит. На самом деле это не совсем верно. На ассемблере написаны даже некоторые операционные системы.

Достоинствами ассемблера являются такие вещи, как скорость, а именно быстрота. Безусловно, одним из главных плюсов является безопасность. Ассемблер хорошо ориентирован на конкретную платформу, в связи с этим велика эффективность его использования, это, несомненно, является достоинством. Ассемблер не всегда использует внутренние инструкции самих машин, но это практически не вызывает потери в быстродействии, зато позволяет использовать микрокоманды.

Также ассемблер имеет ряд недостатков. Значительным минусом ассемблера является то, что для реализации даже самой простой задачи, необходимо иметь приличное количество знаний. Начать программировать на языках высокого уровня гораздо легче, чем на языке ассемблера, так как языки высокого уровня ориентированы на удобство чтения и понимания текстов разработчиком. Также к недостаткам ассемблера можно отнести большой листинг. Именно из-за него читать ассемблерные программы очень тяжело. Относится к минусам языка и тот факт, что большинство используемых машин не нуждается в таком примитивном языке. Если некоторые примитивные операции можно очень коротко описать на языках высокого уровня, то на ассемблере это будет сложнее сделать. Тот факт, что количество библиотек ограничено, безусловно, так же является недостатком ассемблера.

Очень тяжело переносить ассемблерный код с контроллера на контроллер. Во время переноса можно случайно сделать ошибки и, несмотря на то, что ошибки незначительны, отладка займет большое количество времени. Ассемблер очень сильно привязан к конкретному семейству контроллеров.

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

Задав себе вопрос: «Есть ли будущее у ассемблера?» - можно с уверенностью ответить, что будущее у ассемблера, безусловно, есть. Ассемблер был широко востребован во времена, когда мощность компьютеров была достаточно мала. Сейчас же язык ассемблера используют из-за ничтожно малой себестоимости, а также очень высокого быстродействия. К сожалению, для разработки мобильных приложений язык ассемблера не подходит, но есть большое количество задач, для решения которых ассемблер является незаменимым.

Ассемблер, как и у любой другой язык, имеет ряд плюсов и минусов, но достоинств низкоуровневый язык программирования ассемблер имеет гораздо больше, чем недостатков. Учитывая все вышеупомянутое, можно сделать вывод, что у ассемблера есть будущее.

Библиографический список

1. Абрамова О.Ф. PlayStation Virtual Reality – удивительный мир виртуальной реальности [Электронный ресурс] / О.Ф. Абрамова, А.Н. Куркин // Студенческий научный форум – 2017 : докл. IX междунар. студенч. электрон. науч. конф. Направление «Технические науки» (секция «Актуальные проблемы компьютерной визуализации») / РАЕ. - Москва, 2017. - Режим доступа : https://www.scienceforum.ru/2017/2318/28084.

2. Абрамова О.Ф. Исследование методов и разработка модуля оценивания конкурсных материалов для информационной веб-системы проведения олимпиад, адаптированной к задачам конечного пользователя [Электронный ресурс] / О.Ф. Абрамова // 16-я научно-практическая конференция профессорско-преподавательского состава ВПИ (филиал) ВолгГТУ (г. Волжский, 23-27 января 2017 г.). В 2 ч. Ч. 2 / под ред. С.И. Благинина ; ВПИ (филиал) ВолгГТУ. - Волгоград, 2017. - C. 149-158. – Режим доступа : http://www.volpi.ru/files/science /science_conference/16npkpps/16npkpps_pt2.pdf.

3. Рыбанов А.А. Анализ веб-системы для работы с потенциальными абитуриентами [Электронный ресурс] / А.А. Рыбанов, Р.А. Вертелецкий, О.Ф. Абрамова // NovaInfo.Ru : электрон. журнал. - 2017. - № 65. – Режим доступа : http://novainfo.ru/article/12921.

4. Абрамова О.Ф. Методика организации практических занятий с использованием ролевого подхода и case-заданий [Электронный ресурс] / О.Ф. Абрамова // Санкт-Петербургский образовательный вестник : электрон. науч.-практ. журнал. - 2017. - № 8 (12). - C. 9-15. – Режим доступа : http://ru.calameo.com/read/005072235e4dd2e099704.

5. Рыбанов А.А. Разработка и исследование программного модуля для мониторинга и контроля системы оценочных индикаторов эффективности процесса повышения квалификации и стажировок педагогических работников [Электронный ресурс] / А.А. Рыбанов // 17-я научно-практическая конференция профессорско-преподавательского состава ВПИ (филиал) ВолгГТУ (г. Волжский, 23-27 января 2018 г.) : сб. материалов конф. / под ред. С.И. Благинина ; ВПИ (филиал) ВолгГТУ. - Волгоград, 2018. - C. 39-41. – Режим доступа : http://www.volpi.ru/files/science/science_conference/17npkpps_2018/17npkpps_160418.pdf.

6. Рудольф Марек. Ассемблер на примерах. Базовый курс. — СПб: Наука и Техника, 2005. — 240 с: ил. ISBN 5-94387-232-9

7. Электронный ресурс: https://geekbrains.ru/posts/assemble_this

8. Электронный ресурс: https://xakep.ru/2017/09/11/asm-course-1/

9. Электронный ресурс: https://habr.com/post/345748/

10. Электронный ресурс: https://geekbrains.ru/posts/not_for_2018

11.Электронный ресурс: http://easyelectronics.ru/c-vs-assembler.html

Просмотров работы: 113