Proqramlaşdırma

Proqramlaşdırma dillərinin səviyyələri

Proqramlaşdırma dillərinin səviyyələri

Dilini bilmədiyimiz insana nəyi isə başa salmaq üçün ya jestlərdən, ya da onun başa düşdüyü dildəki sözlərdən istifadə edirik. Kompüterin mərkəzi dili olan prosessorun da öz dili var.

Maşın dili.
Kompüterin bilavasitə "başa düşdüyü" yeganə dil, sadəcə ədədlər yığınından ibarət olan maşın dilidir.
"Maşın kodu" deyəndə, maşın dilində yazılmış proqram başa düşülür. Belə kodda proqram tərtib etmək, sonra isə onun düzgünlüyünü yoxlamaq çox çətindir, çünki bunun üçün ya bütün komandaların kod və formatını yadda saxlamaq, ya da hər dəfə xüsusi cədvəllərdən istifadə etmək lazım gəlir.
Kodlaşdırmada azacıq səlıqəsizlik, yazıda yanlışlıq, rəqəmlərin yerinin qarışdırılması gözlənilməz nəticələrə aparıb çıxarırdı. Belə yanlışlığı tapmaq da asan iş deyildi, çünki proqramçının qarşısında az-çox aydın dildə yazılmış alqoritm deyil, rəqəmlər yığını dururdu.
Assembler: Maşın kodunda proqramlaşdırma "iynəylə yer qazmaq" kimi bir şeydir. Çox sadə hesablama məsələləri maşın kodlarında uzun-uzadı elə mürəkkəb şəkil alırdı ki, kiçik kərpiclərdən böyük bir binanın necə tikilməsini təsəvvür etmək kimi çətin idi.
Assembler ingiliscə "assemble" - toplamaq, yığmaq sözündən götürülüb. Bu vəziyyətdən çıxmaq üçün ilk addım komandaların simvollarla əvəzlənməsi oldu, daha dəqiq desək, komandalar adi sözlərin qısaltmaları ilə göstərildi.
İdeya sadə olsa da, onun gerçəkləşdirilməsi yazılmış proqramların digər proqramçılar tərəfindən qavranılmasını asanlaşdırmağa, səhvlərin sayını azaltmağa, proqramçıların işini yüngülləşdirməyə imkan verdi.
Əlbəttə, Assembler proqramçını işin ən arzu olunmaz hissəsindən - operatorların əl ilə maşın koduna çevrilməsindən azad edir. Amerikalı qadın Qreys Hopper 1952-ci ildə dünyada ilk mnemonik proqramlaşdırma dili olan Assembler dilini yaratdı.
Komandaların simvollar vasitəsilə yazılış sisteminə "mnemonik yazı sistemi" deyilir. O, özündə mnemonik komandalar sistemini, prosedurlar kitabxanasını və proqram mətnlərini maşın koduna çevirmək üçün xüsusi proqramı birləşdirdi.
Maşın kodunun alınmasının belə proseduru kompilyasiya (ingiliscə comple - tərtib etmək, yığmaq), onu həyata keçirən proqram isə kompilyator adlanır. Bunları da Qreys Hopper düşünüb tapmışdır.
Ancaq buna baxmayaraq, Assembler dilinin iki böyük nöqsanı var. Birincisi (ola bilsin, siz özünüz artıq sezdiniz), Assembler dilində proqramlaşdırma çox diqqət və səbr tələb edən işdir. Mikroprosessorun işini birbaşa idarə edərkən həddən artıq xırda məsələlər nəzərə alınmalıdır.
İkinci çatışmazlıq Assembler dilindəki proqramların "daşınabilən" (portable) olmamasıdır. Məsələn, Assembler dilində İntel 8080 prosessoru üçün yazılmış proqramı Motorolla 6800 Prosessorlu kompüterdə işlətmək olmur, proqramı həmin prosessor üçün yenidən yazmaq lazım gəlir.
Doğrudur, bu o qədər də çətin məsələ olmasa da, hər halda, müəyyən işlər görülməlidir.