Другие языки программирования и технологии
Ребят Ребят кто умет программировать на ассамблере, скажите стоит ли начинать программировать?
Ребят Ребят кто умет программировать на ассамблере, скажите стоит ли начинать программировать на Ассамблере? объясните его популярность ведь он очень стар, в чем он хорош, сложно научится на нём писать?
В отличие от программирования на языках высокого и сверхвысокого уровня (это классификация, а не степень крутости) , ассемблер - это прямая отдача команд процессору.
На АСМ никто не пишет программы для ПК. Есть такое понятие - "Ассемблерная вставка". Почти влюбом языке высокого уровня можно ее сделать. Делают их в тех местах, где нужно максимум скорости вычислений (вот реально ПОЛНЫЙ максимум при минимуме накланых расходов) или сделать что-то такое, что невозможно выполить ни на одном другом языке программирования (например, вывести процессор из защищенного режима) . Но повторюсь, в общм коде вставка на АСМ заменяет одну команду, не более.
Ассемблерные вставки изредка встречаются в графических движках ("полная отдача"), драйверах ("сделать что-то хитрое, что не под силу обычному языку программирования) , микросхемах бытовой\встраевоемой техники (где каждый байт важен, а всего памяти в районе 8 килобайт)
Таким образом, у ассемблера очень узкий круг задач, которые о решает. Просто представьте программу, которая просто пишет что-то на экран. Каждый байт данной команды - это одна ассемблерная команда. Программа весом пусть даже 100 байт на любом языке программирования займет у вас 1 строчку. А на ассемблере это сто строчек.
Еще раз укажу: ВСТАВКИ. Никто на чистом ассемблере ничего не пишет, так как это занимает огромное количеств времени при не столь большом выигрыше относительно общей системы.
Вдобавок на АСМе пишут под конкретную архитектуру процессора. Меняете процессор - переписываете ВСЕ.
На АСМ никто не пишет программы для ПК. Есть такое понятие - "Ассемблерная вставка". Почти влюбом языке высокого уровня можно ее сделать. Делают их в тех местах, где нужно максимум скорости вычислений (вот реально ПОЛНЫЙ максимум при минимуме накланых расходов) или сделать что-то такое, что невозможно выполить ни на одном другом языке программирования (например, вывести процессор из защищенного режима) . Но повторюсь, в общм коде вставка на АСМ заменяет одну команду, не более.
Ассемблерные вставки изредка встречаются в графических движках ("полная отдача"), драйверах ("сделать что-то хитрое, что не под силу обычному языку программирования) , микросхемах бытовой\встраевоемой техники (где каждый байт важен, а всего памяти в районе 8 килобайт)
Таким образом, у ассемблера очень узкий круг задач, которые о решает. Просто представьте программу, которая просто пишет что-то на экран. Каждый байт данной команды - это одна ассемблерная команда. Программа весом пусть даже 100 байт на любом языке программирования займет у вас 1 строчку. А на ассемблере это сто строчек.
Еще раз укажу: ВСТАВКИ. Никто на чистом ассемблере ничего не пишет, так как это занимает огромное количеств времени при не столь большом выигрыше относительно общей системы.
Вдобавок на АСМе пишут под конкретную архитектуру процессора. Меняете процессор - переписываете ВСЕ.
Он не стар... просто это нижний уровень программирования,
да и знания нужны для программирования контроллеров, электроники.
Ассемблер - это как математика программирования, азы надо знать по любому, а вот применение его для меня не так частое.
Сложно научиться и не так интересно.... но становится понятна потом логика языка си, что плюс.
да и знания нужны для программирования контроллеров, электроники.
Ассемблер - это как математика программирования, азы надо знать по любому, а вот применение его для меня не так частое.
Сложно научиться и не так интересно.... но становится понятна потом логика языка си, что плюс.
Ассемблер - это такая магия.. . Язык простой, но создать что-то серьезное - довольно сложно.
И встретить вставки на ассемблере ради скорости можно редко. Для какой-нибудь системной фигни, вроде атомарных операций или системных команд - да, но для скорости - лишнее. Это не нужно - непереносимо, трудно поддерживаемо и вообще - современные компиляторы оптимизируют лучше человека. А насчет того, что на нем не пишут.. . Я же сказал, что это магия. Есть у нее и свои волшебники. Знаете, контроль над каждым байтом - это круто, это затягивает, поиск самого крутого решения - это кайф. Люди, которые так считают, активно используют асм - поищите проекты KolibriOS (операционная система) , RadAsm, WinAsm (полноценные среды разработки, написанные полностью на асме) , FASM (комилятор ассемблера).
И встретить вставки на ассемблере ради скорости можно редко. Для какой-нибудь системной фигни, вроде атомарных операций или системных команд - да, но для скорости - лишнее. Это не нужно - непереносимо, трудно поддерживаемо и вообще - современные компиляторы оптимизируют лучше человека. А насчет того, что на нем не пишут.. . Я же сказал, что это магия. Есть у нее и свои волшебники. Знаете, контроль над каждым байтом - это круто, это затягивает, поиск самого крутого решения - это кайф. Люди, которые так считают, активно используют асм - поищите проекты KolibriOS (операционная система) , RadAsm, WinAsm (полноценные среды разработки, написанные полностью на асме) , FASM (комилятор ассемблера).
На нем очень сложно писать. Для первых шагов он вообще не подходит. Хотя, если знаешь ассемблер - у тебя в руках очень мощный инструмент.
Если все-таки хочется изучить асм, то могу дать статейки, с которых я начинал. bitfry .narod .ru Хотя статейки старые, но для начала очень неплохо (ИМХО).
Если все-таки хочется изучить асм, то могу дать статейки, с которых я начинал. bitfry .narod .ru Хотя статейки старые, но для начала очень неплохо (ИМХО).
Похожие вопросы
- Стоит ли начинать программировать с python? И оставляйте отзывы о нём.
- Стоит ли учится программировать для андройда? Не будет ли это пустой тратой времени?
- Начинаю осваивать C/C++. До этого программировал на Delphi. Что стоить выбрать - Builder или Visual?
- С какого языка лучше всего начинать программировать?
- Ребята хочу научится программировать. Какой язык учить? какая язык самый легкий?
- С какого языка начинать программировать?
- На каком языке лучше всего начинать программировать?С нуля
- С чего начинают программировать системы искуственного интеллекта?
- Как начинают программировать на PHP или других языках?
- Какую книгу выбрать для программирования начинающих? и с какого языка начинать программировать ?