Proqramlaşdırma dili

**Proqramlaşdırma dilləri** və ya **alqoritmik dil** – proqram modullarından ibarət olub, məsələnin həll mərhələsinə hazırlığını təmin edir. Proqramlaşdırma dili kompüterin alqoritmi qəbul etməsi üçün istifadə edilir.

Proqramlaşdırma dilləri adi dillərdən "sözlərin" (ancaq translyatorun başa düşdüyü) sayına və əmrlərin ciddi yazılış qaydasına görə fərqlənir. EHM-də proqram yazmaq üçün istifadə olunan formallaşmış dillərə proqramlaşdırma dilləri deyilir. Proqramlaşdırma dili süni dil olub, təbii dillərdən məhdud sayda sözlərin olması ilə fərqlənirlər. Bu dillərlə hazır proqramlar deyil, yalnız proqramın mətni yaradılır. Proqram dilini kompüterin başa düşdüyü maşın dilinə çevirmək üçün translyatorlardan (translator – tərcüməçi) və kompilyatorlardan (compiler – tərtibatçı) istifadə edilir. Hər bir proqramlaşdırma dilinin öz translyatoru (kompilyatoru) olur. Məsələ həll edərkən əvvəlcə yerinə yetiriləcək əməliyyatların alqoritmi tərtib edilir, daha sonra bu əməliyyatlar hər-hansı alqoritm (proqramlaşdırma) dilində əmrlər şəklində yazılır. Tərtib olunmuş proqram xüsusi əlavələr (translyator proqramlar) vasitəsilə yerinə yetirilir və ya maşın koduna çevrilir.

İstənilən proqramlaşdırma dilinin əsas elementləri bunlardır: dilin əlifbası, sintaksisi və semantikası.

* Dilin əlifbası dedikdə, həmin dildə işlənən bütün simvollar nəzərdə tutulur.
* Sintaksis – əlifbada olan simvollardan dilin ayrı-ayrı konstruksiyalarının (komandaların, operatorların) düzəldilməsinin formal qaydalarıdır. Bu qaydalar müxtəlif həll alqoritmlərini proqramlaşdırmağa imkan verir.
* Semantika – dilin bu və ya digər sintaksis konstruksiyalarının təsviridir. Məsələn, əgər proqramın bu yerində y =a*(b+c) ifadəsinin hesablanması yazılıbsa, onda semantika qaydaları maşına "göstərir" ki, əvvəlcə (b+c) cəmini tapsın, sonra həmin cəmi a-ya vursun.
Beləliklə, hər hansı verilənlərin emalı prosesini birbaşa həyata keçirməyə imkan verən proqramlar, dili təyin edən sintaksis qaydalara uyğun olaraq əlifbadakı simvolların birləşməsi nəticəsində və semantika qaydalarını nəzərə almaqla işlənib hazırlanır.

## Translyator və kompilyatorlar
Proqramlaşdırma dili vasitəsilə hazır proqram yox, ancaq qurulmuş alqoritmi təsvir edən mətn yaradılır. Proqramçınınn başa düşdüyü dildə olan bu proqram maşının başa düşdüyü dilə çevrilməlidir. Bunun üçün kompüterdə translyatorlar və kompilyatorlar olur.

Proqram ancaq onların translyatorları olan halda icra oluna bilərlər. Translyatordan fərqli olaraq kompilyatorlar exe-faylların yaradılması üçün istifadə olunur ki, onlar da sərbəst icra oluna bilərlər (yəni, proqpamin yazildiğı mühitdən (sistemdən) asılı olmadan).
Proqramlaşdırma dillərinin səviyyələri. Müxtəlif tip prosessorlar müxtəlif tip əmrlər sisteminə malikdir. Əgər proqramlaşdırma dili konkret prosessor tipinə yönəlibsə və onun xüsusiyyətlərini nəzərə alırsa, onda ona aşağı səviyyəli proqramlaşdırma dili deyirlər. Assembler aşağı səviyyəli proqramlaşdırma dilidir. Çünki o, bir əmri mnemonika adlanan simvol işarəmələrinin köməyilə ədədlər şəklində yox, maşın kodları şəklində verir. Assemblerin köməyilə çox səmərəli və kompakt proqramlar yaratmaq mümkündür. Assemblerdən adətən, sistem əlavələrin, drayver-proqramların, kompüterin aparat resurslarına müraciət edən proqram modullarının hazırlanması üçün istifadə olunur. Aşağı səviyyəli proqramlaşdırma dillərindən, adətən yüksəksəviyyəli peşəkar proqramçılar istifadə edir. Bu dillərdə tutulan proqramlar yaddaşda az yer tutmaqla yanaşı, daha sürətlə icra olunurlar. Yüksəksəviyyəli proqramlaşdırma dilləri isə adi dilə daha yaxın və insan üçün daha aydın başa düşüləndir.
Çox yayılmış, bəzi proqramlaşdırma dilləri haqqında məlumat verək

Proqramlaşdırma dilləri iki hissəyə bölünür:
* Aşağı səviyyəli dillər (Assembler, Avtokod və s.),
* Yüksəksəviyyəli dillər (Fortran, Alqol, Kobol, Basic, Pascal, Ci və s.).

Aşağı səviyyəli proqramlaşdırma dillərində hər operatora bir maşın əmri uyğun gəlir. Bu dildə yazılan proqram az yer tutur və tez yerinə yetirilir. Aşağı səviyyəli dillərdən sistem proqramçılar istifadə edir. Yuxarı səviyyəli proqramlaşdırma dillərində hər operator bir neçə maşın əmri ilə əvəz edilə bilər, bu isə yaddaşda çox yer tutur. Yüksəksəviyyəli dillərdən isə tətbiqi proqramçılar istifadə edir.

## Proqramlaşdırma dilləri
* Ada — Ada proqramlaşdırma dilinin yaranma tarixi 1974–1980-ci illərə təsadüf edir.
* Assembler – bu proqram vasitəsilə effektiv və kompakt proqramlar yaradılır. Assemblerlərdən sistem proqramlarının, drayverlərin, kompüterin aparat resurslarına müraciət üçün və s. proqramların yaradılmasında istifadə edilir.
* Basic – Bu dil üçün kompilyator və interpretatorlar mövcuddur. 60-cı illərdə yaradılmışdır və öyrənilməsi sadədir.
* C – Bell laboratoriyasında yaradılmışdır və assembler dilini əvəz etmək üçün nəzərdə tutulmuşdur. Assemblerdən fərqli olaraq konkret tip prosessordan asılı deyil.
* C++ – 1980-ci ildə Byörn Straustrup tərəfindən yaradılmışdır. Proqramın imkanları proqramçının işinin məhsuldarlığını artırmış olur.
* C# — C#(C Sharp) – Microsoft. Net platformu ilə birlikdə təqdim olunan C ailəsinə aid yeni obyekt orientasıyalı dillərdən biridir.
* Fortran – 50-ci illərdə Cim Bekus tərəfindən yaradılmış ilk kompilyasiya dilidir. Bu dildən hal-hazırda da bütün dünyada istifadə edilir. 2000-ci ildə Fortranın yeni versiyası yaradılmışdır: F2k.
* JAL — Wouter Van Ooijen tərəfindən 16F84 ,16C84,16F877 , Scenix SX18 ve SX28 kimi mikrokontrollerləri proqramlaşdırmaq üçün yaradılmış dildir.
* Java – 90-cı illərdə Sun kompaniyası tərəfindən С++ proqram dili əsasında yaradılmışdır.
* LISP — List Processing (siyahıların emalı) sözlərindən götürülmüşdür. 1958-ci ildə yaradılmışdır
* Lua — 1993-cü ildə yaradılmış açıq qaynaq kodlu dildir.
* Objective-C — yuxarı səviyyəli, Obyekt yönümlü proqramlaşdırma dilidir.
* Pascal – 70-ci illərdə Niklaus Birt tərəfindən yaradılıb, Alqol dilinə daha çox oxşayır.
* Perl — 1987-ci ildə Lary Wall tərəfindən yaradılmış dinamik proqramlaşdırma dilidir.
* PHP — (Hypertext Preprocessor) dinamik veb səhifələr yaratmaq üçün 1995-ci ildə yaradılıb.
* Prolog — Proloq məntiqi proqramlaşdırma dilidir ki Süni intellekt və Hesablamalı dilçilik ilə əlaqədardır.
* Python — 1991-ci ildə Guido van Rossum tərəfindən yaradılmışdır. Dilinin sintaksisi çox aydın və anlaşıqlıdır.
* Ruby — Yukihiro Matsumoto tərəfindən Perl, Smalltalk və Eiffel dillərindən yararlanaraq yaradılmışdır.
* Scheme — Funksional proqramlaşdırma dili olub. 1975–1980-ci illər ərzində MİT süni intellekt laboratoriyasında yaradılmışdır.
* Delphi — Pascal dilinin əsasında yaradılmış dildir.
* Cobol – 60-cı illərdə yaradılıb, iqtisadi sahədə, biznes məsələlərin həllində istifadə edilir. Bu proqramın operatorları adi ingilis cümlələrinə çox bənzəyir.
* Swift– Apple tərəfindən WWDC 14 də təqdim edilmiş proqramlaşdırma dili.
* ASD–2020-də yaradılmış Azərbaycanca proqramlaşdırma dilidir. "yaz", "sorğu", "mesaj", "dəyişən", "get" və "əgər" açar sözlərinə, hesab operatorlarına malikdir. Sadə proqramların yazılmasına və proqramların öyrənilməsinə xidmət edir.

## Mənbə
* "Alqoritmləşdirmə və proqramlaşdırmanın əsasları", KAZIMOV TOFİQ, f.-r.e.n., AMEA İnformasiya Texnologiyaları
* *Hesablama maşınları və kompüterlər haqqında ümumi məlumat*. R. Q. Ələkbərov, t.e.n., AMEA İnformasiya Texnologiyaları İnstitutu

## Ədəbiyyat
# Соломенчук В. Г. Аппаратные средства персональных компьютеров – СПБ.: БХВ –Петербург, 2003 – 512с.
# Колесниченко О. В., Шишичин И. В. Аппаратные средства ПК – СПБ.: БХВ – Санкт-Петербург, 2000

## Həmçinin bax
* Skriptləşdirmə dili
* Dönmək (proqramlaşdırma dillərində)
* Baza verilənlərin proqramlaşdırma dilləri
* Maska (informatika)
* Mnemonik (sxem)

## İstinadlar

## Xarici keçidlər
* Definition of "Computer Program" at dictionary.com