Отправляет email-рассылки с помощью сервиса Sendsay

Программирование для .NET

  Все выпуски  

Программирование для .NET


Языки высокого уровня

Добрый день!

В предыдущем выпуске рассылки я упомянул о языках ассемблера. Другое их название — языки низкого уровня, так как при разработке программ с помощью этих языков требуется учитывать все особенности целевой платформы. Как мы выяснили, они не подходят для массовой разработки программ и применяются лишь в некоторых узких областях, где эти особенности являются существенными (например, некоторые компоненты операционных систем, драйверы устройств и т. п.)

Для массовой разработки программного обеспечения используются языки другого рода — языки высокого уровня. Они позволяют программисту абстрагироваться от особенностей устройства конкретной платформы и сконцентрироваться на формулировке алгоритма работы программы. В связи с последним обстоятельством их также называют проблемно-ориентированными языками (в противоположность машинно-ориентированным языкам ассемблера). В языках высокого уровня алгоритмы записываются более компактно и наглядно.

Рассмотрим пример. Вот фрагмент некоторого вычисления на языке ассемблера процессоров семейства x86 (32-разрядные процессоры семейства Intel/AMD):

    mov eax, x
    add eax, y
    cmp eax, 0
    jge NextStep
    neg eax
NextStep:
    mov s, eax

Чтобы понять, какие действия выполняются в этом фрагменте, необходимо проанализировать все команды (естественно, надо знать их). А вот то же вычисление, записанное на языке высокого уровня (C, C++, C#, Java, JavaScript):

s = x + y;
if (s < 0)
    s = -s;

Разница очевидна — как по объему текста, так и по наглядности записи (вычисление записывается в знакомой форме арифметических выражений).

Однако при работе с языками высокого уровня возникает одна проблема: процессор не в состоянии распознать и исполнить программу в том текстовом виде, как она записана. И тут на помощь приходят специальные программы-переводчики — трансляторы. Они в автоматическом режиме переводят программу на языке высокого уровня в программу, понятную процессору, и делают возможным ее исполнение. Работа этих программ (процесс трансляции) может быть организован разными способами, и это будет темой следующего выпуска.


В избранное