Ассемблер никогда не устареет
Бесплатный доступ
В статье рассмотрена краткая история появления ассемблера и преимущества перед современными языками программирования.
Ассемблер, язык программирования
Короткий адрес: https://sciup.org/140287001
IDR: 140287001
Текст научной статьи Ассемблер никогда не устареет
Первая вычислительная машина, обладающая всеми свойствами современного компьютера, была придумана еще в 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)