Aşağı, Orta və Yüksək Səviyyəli Proqramlaşdırma Dilləri

Proqramlaşdırma dillərini üç geniş kateqoriyaya bölmək olar. Bunlar Yüksək Səviyyəli, Orta Səviyyəli və Aşağı Səviyyəli dillərdir. Bu üç dil bir-birlərindən müxtəlif xüsusiyyətlərə görə fərqlənir.

Yüksək Səviyyəli dillər dedikdə insanın başa düşə biləcəyi şəkildə yazılan proqramlaşdırma dilləri nəzərdə tutulur. Onlar müstəqildir və proqramistlərin proqramın istifadə ediləcəyi cihaz barədə əvvəlcədən biliklərə yiyələnməsi lazım deyil. Yüksək səviyyəli proqramlaşdırma dillərinə Delphi, C#, Java, JavaScript, Python, Ruby və s daxildir.

Orta Səviyyəli dillər kompüterin aparat və proqramlaşdırma səviyyəsi arasında bir körpü rolunu oynayır. Onlar kompüterin abstraksiya qatında fəaliyyət göstərirlər. Orta səviyyəli proqramlaşdırma dillərinə C və C++ misal göstərmək olar.

Aşağı səviyyəli dillər müəyyən kompüter arxitekturası və aparat tələblərinə cavab vermək üçün yazılmışdır. Aşağı səviyyəli proqramlaşdırma, əsasən kodunuzu işə saldığınız avadanlığa yaxın olan hər şeydir. Hədəfinizə görə fərqli mənalar verə bilər. Bir bina tikirsinizsə, həmişə təməldən başlayarsız və bunun üzərinə tikirsiniz. Aşağı səviyyəli inkişaf bu təməldir - yüksək səviyyəli proqramlaşdırma ilə başlasanız, altında nə baş verdiyini anlamırsınız.

Aşağı səviyyəli dillərə Machine code(maşın kodu və  Assembly göstərə bilərik. Maşın kodundu bir şey yazmaq çox çətindir. Çünki maşın kodunda yazılanlar yalnız 0 və 1 -lərdən ibarət olduğundan çox sadə bir proqramın içində belə minlərlə 0 və 1 sayı ola bilər. Ancaq Assembly dili maşın koduna nəzərən rahatdı, çünki burda mnemonikalardan istifadə olunur. Mnemonikanı başa düşmək və düzəltmək maşın kodundan daha asandır, bu da proqramçılara kompüteri idarə etmək üçün daha sadə bir yol təqdim edir.


Yüksək Səviyyəli, Orta Səviyyəli və Aşağı Səviyyəli dillər arasındakı əsas fərqlər

Sürət

Sürət baxımından aşağı səviyyəli dillərdə yazılan proqramlar orta və yüksək səviyyəli dillərdə yazılanlardan daha sürətli olur. Bunun səbəbi, bu proqramların şərh edilməsinə və tərtib edilməsinə ehtiyac olmamasıdır. Onlar qeydlər və yaddaş ilə birbaşa qarşılıqlı əlaqə qururlar.


Digər tərəfdən, yüksək səviyyəli bir dildə yazılmış proqramlar nisbətən yavaş olur. Bunun əsas səbəbi onun danışıq dilində yazılmasıdır. Bu, kompüterin onları icra etmədən əvvəl danışıq dilinə tərcümə edib və şərh etməyə məcbur olmasıyla bağlıdır. Bütün bu proseslər vaxt aparır.

Orta səviyyəli dilin sürəti yüksək və aşağı səviyyəli dillər arasındadır. Nə çox yüksəkdir, nə də çox aşağı.

Yaddaş tələbi

Bu, üç dili fərqləndirmək üçün istifadə edə biləcəyimiz başqa bir parametrdir. Aşağı səviyyəli dillər yaddaş baxımından çox səmərəlidir. Daha az yaddaş istifadə edirlər. Bu, yaddaş sıxlığı ilə tanınan yüksək səviyyəli dillərdən çox fərqlidir. Xüsusilədə, bu dillərin hələ də müəyyən bir iş vaxtı mühitində işlədiyini nəzərə alsaq onlar çox yaddaş sərf edirlər. Orta səviyyəli proqramlaşdırma dillərinin yaddaş səmərəliliyi yüksək səviyyəli dillərə nisbətən o qədər də yüksək deyil.

İstifadə rahatlığı

Aşağı səviyyəli dillər maşınlara dost, lakin insanlarla dost deyil. Bir proqramist olaraq ikili(binary) fayıllar və Mnemonika-larla məşğul olmaq olduqca çətindir. Hər təlimatın müəyyən bir kompüter arxitekturası üçün hazırlanması bu dili daha texniki edir. Bir sözlə, aşağı səviyyəli dilləri öyrənmək çətindir.

Digər tərəfdən, yüksək səviyyəli dillər insan üçün əlverişlidir. Onlar asanlıqla öyrənilən və yadda saxlanılan İngilis dilində olan ifadələrdən ibarətdir. Bu, onların niyə ən populyar proqramlaşdırma dili olduğunu izah edir.

Portativlik (Daşınılabilirlik)

Bu məzmunda portativlik termini, bir dilin fərqli kompüterlərdə istifadə edilə bilməsinə aiddir. Aşağı səviyyəli proqramlaşdırma dilləri daha az portativdir. Bunun səbəbi onların təlimatlarının maşından asılı olmasıdır. Bu, sadəcə hər təlimatın müəyyən bir maşın üçün yazıldığını göstərir. Xüsusi bir maşın kodları başqa bir kompüter arxitekturasında işləyə bilməz.

Yüksək səviyyəli dillər maşından asılı deyil. Bir kod fərqli bir maşında və hətta fərqli bir arxitekturada heç bir çətinlik olmadan istifadə edilə bilər. Bu, yüksək səviyyəli proqramlaşdırma dillərinin daha çox portativ olması deməkdir. Yüksək səviyyəli dildə yazılmış bir proqramı bir mühitdən digərinə köçürə bilərsiniz və o, yenə də işləyəcəkdir.

Abstraksiya

Bu məzmunda abstraksiya dilin kompüter avadanlığı ilə əlaqəsini ifadə edir. Kompüter avadanlığı ilə aşağı səviyyəli dillər arasında minimal və hətta sıfır bir abstraksiya var. Bu dillər kompüterin yaddaşı ilə problemsiz bir şəkildə əlaqəyə girir və qeydiyyatdan keçir.

Orta səviyyəli dillər və qurğular arasındakı boşluq olduqca əhəmiyyətlidir. Bu, aşağı səviyyəli dillərdən daha böyük, lakin yüksək səviyyəli dillərdən daha kiçikdir.

Gözlənildiyi kimi, yüksək səviyyəli dillər abstraksiyanın maksimal səviyyəsinə malikdir. Bunun səbəbi, hardware ilə minimal qarşılıqlı əlaqənin olduğu bir kompüterin ən yüksək səviyyəsindən fəaliyyət göstərməsidir. Gördüyünüz kimi, yüksək səviyyəli, orta səviyyəli və aşağı səviyyəli proqramlaşdırma dilləri arasında aydın fərqlər var. Proqramlaşdırma dilinin hər bir növünün xüsusi məqsədə xidmət etmək üçün yaradıldığını da qeyd edə bilərik.