<İnterpreter və Compiler dillər arasında ortaq və fərqli cəhətlər/>

Isgandar Hasilov
Pragmatech
Published in
2 min readMar 8, 2021

İnterpreter və compailer dillər arasındakı ortaq və fərqli cəhətləri deməmişdən öncə bu terminlərin proqramlaşdırmada nə anlama gəldiyinə bir nəzər yetirək.

İnterpreter (şərh edən) dillər dedikdə bizim hər hansı bir dildə yazdığımız kodu həmin anda sətir bə sətir şərh edən yəni maşın koduna çevirən və lazımi nəticəni ekrana yazdıran dillər nəzərdə tutulur. Bu dil qrupuna aid olan dillər hər hansı bir internet brauzeri ilə də çalışa bilir. Bu dillərə JavaScript, Python və s. bu kimi dilləri misal göstərmək olar.

Compiler (tərtib edən) dillər, interpreter dillərdən fərqli olaraq hər hansı bir əlavə proqram təminatına* ehtiyac olmadan kodları bütöv bir şəkildə maşın dilinə çevrilir və sonda .exe (nöqtə eqze) faylı formatında bir fayl yaradır və biz bu faylı istədiyimiz vaxt işə sala bilərik. Yəni bu halda kodlar yalnız bir dəfə oxunur və yaddaşda saxlanılır. Bu dillərə C, C++ və s. bu kimi dilləri göstərmək olar.

Birdə bunlardan başqa bu yuxarıdakı hər iki xüsusiyyəti özündə cəmləşdirən dillər də vardır ki, onlara da Hibrid dillər (qarışıq) deyilir. (Bunlara misal olaraq C#, Java və s. göstərmək olar.)

***

İndi isə gələk əsas məsələyə bu dillər arasında ortaq və fərqli cəhətlər nələrdir ;))

Oxşar cəhətlər:

- hər iki dil qrupuna aid olan dillərdə kodlar maşın dilinə çevrilərkən hansı sətirdə sintaksis xətası verilirsə onlar göstərilir.

- hər iki qrupa aid olan dillərdə göstərilən sintaksis xətasına avtomatik olaraq düzəlişlər edilmir. Biz özümüz xəta olan sətiri tapıb düzəlişlər etməliyik.

- hər iki dil qrupuna aid olan dillər sonda kodları maşın dilinə çevirirlər və s.

Fərqli cəhətləri:

- Compiler dillərdə kodlar tam bütöv bir parça olaraq oxunur. Amma İnterpreter dillərdə isə sətir bə sətir oxunur.

- Compiler dillərdə yazılan kodlar sonda compile edilərək .exe (nöqtə eqze) faylına çevrildiyi üçün daşınması da rahatdı. Amma interpreter dillərdə yazılan kodlarda bu belə deyil.

- Compiler dillərdə kodlar bir dəfə oxunur, .exe (nöqtə eqze) faylı formatında bir fayl yaradır və hər dəfəsində kodları təkrar-təkrar emal etməyə ehtiyac qalmır. Amma interpreter dillərdə isə hər dəfəsində kodlar run edilir və sətir bə sətir oxunur emal edilir.

- Compiler dillər daha sürətli olur. Amma interpreter dillər compiler dillərə nisbətən daha yavaş olur və s.

proqram təminatı* (compiler dillərlə birgə istifadə edilən proqramlar xaric)

İstifadə etdiyim qaynaqlar:

https://www.geeksforgeeks.org/difference-between-compiled-and-interpreted-language/

https://www.guru99.com/difference-compiler-vs-interpreter.html

--

--

Isgandar Hasilov
Pragmatech

Hi, i'm Isgandar Hasilov. I'm interested in web programming and technologies. Baku, Azerbaijan