Algol thanks....
To Unix (без обид) о низкоуровневом програмировании и его смысле: Язык низкого уровня Assembler - это символическое представление команд (инструкций) машинного языка при помощи которых все процессы в компе на самом низком аппаратном уровне приводятся в действие....
Для каждого типа микропроцессов (компов) он свой.
Применение: Знания языков высокого уровня как VB, C, Pascal иногда не достаточно и без ассемблера не обойтись при написании критических по размеру системных прог, вирусов

или когда прога должна работать с каким-либо устройством или выполнять дейстия, связанные с непосредственным обращением к аппаратуре....
Поэтому почти все компиляторы языков высокого уровня содержат средства связи своих модулей с модулями на ассемблере или поддерживают выход на ассемблерный выход програмирования....
Нельзя объять необъятное, да и этот форум не для этого (sorry кого утомил).
P.S. Добавление в последние версии трансляторов ассемблера новых директив, комманд, сложных типов данных, макросредств, поддержки ООП позволяет его формально по функциональности сравнивать с языками высокого уровня.