Ассемблер никогда не устареет
Бесплатный доступ
В статье рассмотрена краткая история появления ассемблера и преимущества перед современными языками программирования.
Ассемблер, язык программирования
Короткий адрес: https://sciup.org/140287001
IDR: 140287001 | УДК: 004
Assembler will never become obsolete
The article discusses a brief history of the appearance of assembler and the advantages over modern programming languages.
Текст научной статьи Ассемблер никогда не устареет
Первая вычислительная машина, обладающая всеми свойствами современного компьютера, была придумана еще в 1941 году. В то время не было никаких языков программирования и писать приходилось на ассемблере. Прогресс не стоял на месте. ЭВМ развивались. Был придуман один из первых языков программирования, например Ада, названый в честь своей создательницы Ады Лавлейс. Позже появился C++, JAVA и множество других высокоуровневых языков программирования. Но профессиональные разработчики на сегодняшний день не спешат оказываться от ассемблера.
Казалось бы, ассемблер не может конкурировать с объектноориентированным программированием. Задачи, которые можно реализовать на языке высокого уровня за пять минут, на ассемблере придется писать в течение тридцати минут. И только в том случае, если задача не представляет большой сложности в программной реализации. А есть задачи, которые на ассемблере можно писать вечно. Да и отлаживаться на ассемблере не очень простое занятие.
Но не тут-то было! Приближающейся прогресс хранит в себе множество трудностей и подводных камней. Современные пакеты приложений вместе со средой программирования могут одновременно устанавливать несколько языков. А ведь это гигабайты информации. Уже давно не новость, что установщик MS Visual Studio может занимать более 10 гигабайт свободного места. Вместе с этим папка с компилятором для одного языка может занимать более гигабайта. А ведь есть старое правило: чем больше места занимает программа, тем больше ошибок она в себе несет. Я уже давно не удивляюсь ошибкам компиляции после сборки и запуска программы. Хотя у Microsoft, я таких ошибок почти не встречал.
Самым ярким фактом незаменимости ассемблера является его быстродействие. Компилятор собирает по заданному алгоритму. Пишет в функции много лишних и не нужных ассемблерных команд. Ни один программист не сможет сделать работу компилятора так, чтобы он собирал максимально быстрые функции и алгоритмы. Да никому это и не нужно. Отдельным камнем преткновения является машинная математика. Если нужно разделить целое число на два, то наиболее быстрым будет битовый сдвиг вправо. Эта команда будет выполнена в три раза быстрее чем вызов команды деления. В простых случаях в компилятор уже заложены такие приемы и хитрости. Но если немного усложнить задачу, то наиболее эффективную и математически правильную функцию можно написать только вручную.
На сегодняшний день, да и в ближайшем будущем не будет создано достойной замены ассемблера. Заменить ассемблер все равно что заменить человека. Поэтому ассемблер можно назвать бессмертным и нестареющим языком .
Список литературы Ассемблер никогда не устареет
- Как писать на ассемблере в 2018 году - Habr [Электронный ресурс].- Режим доступа: https://habr.com/ru/post/345748/ (дата обращения: 15.07.2019)
- Обзор языков ассемблера - Vuzlit [Электронный ресурс].- Режим доступа: https://vuzlit.ru/977980/obzor_yazykov_assemblera_makroassemblera (дата обращения: 16.07.2019)