Yuxarı səviyyə (high level) və aşağı səviyyə (low level) proqramlaşdırma dilləri nədir?

Sahil Appayev
Pragmatech
Published in
3 min readAug 10, 2020
Yuxarı və aşağı səviyyəli proqramlaşdırma dilləri

Kompüter proqramına qısaca kobud şəkildə tərif versək, proqram qarşıya qoyulmuş problemi həll etmək üçün kompüterə verilən müəyyən ardıcıllığa malik əmrlər toplusudur. Proqramlaşdırma dilləri isə bu kimi proqramları yaratmaq üçün istifadə olunan alətdir desək yanılmarıq.

Qarşıya qoyulan problemdən və istifadə olunan aparat təminatından asılı olaraq kompüter proqramları yuxarı və aşağı səviyyə proqramlaşdırma dilləri (High and Low Level Languages) vasitəsilə yazılır.

Belə adlandırma dillərin potensial göstərici deyil, sadacə olaraq, sintaksis və istifadə sferasına görə adlandırmadır. Yəni bu iki dil qrupu nümunəsi bizə ayrı-ayrı sferalarda proqram və kod yazmağa şərait yaradır.

Bəs bu yuxarı və aşağı səviyyə dediyimiz dillər necə təyin olunur?

Kompüter proqramları yazan proqramçılar adətən yuxarı səviyyəli dillərdən istifadə edirlər. Belə dillər strukturuna və sintaksisinə görə insan dilinə yaxın olur. Proqramçılar maşınla müqayisədə yuxarı səviyyəli dili asanlıqla başa düşə, şərh edə və ya tərtib edə bilirlər. Məhz buna görə yuxarı səvviyyə dilləri öyrənmək və həmin dillərdə proqram yazmaq daha asandır.

Yüxarı səviyyəli dillərdə yazılan proqramlar müəyyən aparat və ya mikroçipə bağlı olmadığı üçün hər hansı xüsusi aparat təminatı bilgisi tələb etmir.

Yuxarı səviyyə dillərə misal:

Swift, Java, Pascal, Python,C#, Visual Basic və s.

Yuxarı səviyyəli Java dilində ekrana “Hello World.” mətnini yazan kod nümunəsi

public class Main {
public static void main(String[] args) {
System.out.println(“Hello World.”);
}
}

Aşağı səviyyə dilləri isə daha çox kompüterin dili olan maşın (binary) dilinə yaxın olan dillərdir. Maşın insanla müqayisədə aşağı səviyyəli dilləri asanlıqla başa düşür. Bu dillərdən istifadə etməklə müəyyən qurğulara və ya xüsusi çiplərə proqramlar yazılır. Aşağı səviyyə dillər maşın dilinə yaxın olduğu üçün onları oxumaq və başa düşmək çox çətindir.

Aşağı səviyyə dillərə misal:

Çox az adam montaj dilində proqram yazır, lakin müəyyən qurğular üçün drayverlər hələ də bu dildən istifadə etməklə yazılır. Assembly dili nisbətən yuxarı səviyyəli dilə yaxın bir dildir. Buraya MOV (hərəkət etmək), ADD (əlavə etmək) və SUB (çıxmaq) kimi əmrlər daxildir. Bu əmrlər dəyərləri yaddaş qeydlərinə (memory register) keçirmək və hesablamalar aparmaq kimi əsas əməliyyatları yerinə yetirir. Assambly dili bir assembler istifadə edərək maşın dilinə çevrilə bilər. Assembly dilində yazılmış kod assembler vasitəsilə maşın dilinə tərcümə (compile) olunur. Hər assemblerin özünəməxsus bir kompüter arxitekturası üçün hazırlanmış öz montaj dili vardır.

Maşın dili kompüterin oxuduğu və şərh etdiyi ikili rəqəmlər və ya bitlər toplusudur. Maşın dili kopüterlərin birbaşa başa düşə biləcəyi yeganə dildir.

“Hello World.” mətnin maşın dilində yazılmış bir nümunəsi (ikili)

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00101110

“A” hərfini kompüterin ekranına 1000 dəfə yazan maşın dilinin (ikili olmayan) başqa bir nümunəsi

169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
Yuxarı və aşağı səviyyəli proqramlaşdırma dillərinin əsas fərqləri
Yuxarı və aşağı səviyyəli proqramlaşdırma dillərinin əsas fərqləri

Hər hansı bir yuxarı səviyyəli proqramlaşdırma dilində yazılmış proqramı kompüterin başa düşə bilməyi üçün həmin proqram mütləq şəkildə maşın dilinə çevrilməlidir (compiler və ya interpreter vasitəsilə). Proqramçılar nadir hallarda maşın dilində kod yazırlar.

Bəzi qaynaqlarda orta səviyyəli dillər də qeyd olunur. Belə dillər həm yuxarı səviyyəli, həm də aşağı səviyyəli dillərin bəzi xüsusiyyətlərini özündə cəmləşdirir. Bu dillərdən adətən əməliyyat sistemlərinin proqramlaşdırması zamanı istifadə olunur, buna görə də bu dilləri sistem proqramlaşdırma dilləri də adlandırırlar.

Orta səviyyə proqramlaşdırma dillərinə nümunə:

C, C++, Ada, Nim, və Rust

--

--