Другие языки программирования и технологии

На что способен язык программирования Assembler

Наслышан об этом языке, где используется, в каких сферах, на что способен человек досконально изучивший это язык программирования ?
Только на Ассемблере можно написать самую маленькую и при этом самую фукциональную программу т. к. при этом не будут использоваться никакие посреднеческие компиляторы, трансляторы, библиотеки и т. д. которые раздувают плевые программки в гагабайты. Для этого языка нет невозможного. Точнее есть ограничения возможностями процессора и только его способностями ты связан. Но программировать на нем действительно не просто и не быстро. Хотя для того кто этим занимается постоянно - он имеет наработанные фрагменты ранее написанных программ которые может применять в новых разработках при этом ускоряя написание новых программ но не утяжеляя новые программы лишним мусором и не создавая торможения при выполнении этих программ.
Алексанлр Иванов
Алексанлр Иванов
44 443
Лучший ответ
язык может полностью использовать возможности компа/процессора
но этими возможностями надо уметь пользоваться.
в этом принципиальное отличие от языков высокого уровня.
Ну начнём с того, что на каждую процессорную архитектуру ассемблер свой. Ну возьмём x86-64, вы сможете писать то же самое, что и на языке высокого уровня, только эффективнее и быстрее, если вы конечно знаете все команды и расширения. Пишите под новейший процессор? - Вы сможете задействовать новые команды процессора прямо сейчас.
Но опять же, сумеете ли вы оптимально написать код или же скажем в библиотеках питона найдётся более эффективная реализация.
К тому же вы будете тратить на порядок больше времени на разработку, в отличии от языков высокого уровня.
Так как это Тьюринг-полный язык программирования, на нем возможно реализовать абсолютно любой алгоритм.
Используется, когда нужно передать команды процессору напрямую. Зачастую, с целью написания наиболее производительного кода.
Жасулан Мендигалиев Уже больше не для производительного, а для того, что в других языках программирования (имеется в виду, конечно С) просто нет нужных инструкций. Для работы с конкретными архитектурами, виртуализацией, периферийными устройствами. Обычно из этого получаются модули ядра ОС или драйвера :)
Язык ограничений не имеет. На нём написать можно всё.
Сейчас пишут очень мало. Большое время разработки (дорого) получается.
Даже под встроенные микропроцессоры проще писать на си.

Лично я в языке разочаровался, когда понял, что в уме оптимизировать под архитектуру современных процессоров просто невозможно. Слишком много факторов нужно учитывать.