Proqramlaşdırma

Son ilərdə proqramlaşdırmanın çox məhşur olduğunu çoxumuz eştimişik. Məhz buna görə dünyada və Azərbaycanda bir çox tələbələr bu sahəni seçir və gələcək karyerasının inkişaf etdirib çox böyük şirkətlərdə işləmək istəyirlər. Bəs proqramlaşdırma nədir? Nə üçün lazımdır?

Proqramlaşdırma hər hansı bir məqsədə çatmaq üçün lazım olan əmrlər ardıcıllığının kompüterin anlayacağı dilə çevirmə prosesidir. Bizə lazım olan məqsədə çatmaq üçün olan əmrlər ardıcıllığına alqoritm deyilir. 

Bu ardıcılığı kompüterə başa sala bilsək o həmin işi bizim yerimizə edə bilər. Məsələn hər hansı bir yeməyin bişirilmə alqoritmin kompüterə(burada robotları da kompüter kimi nəzərdə tuturam) başa sala bilsək o bizə həmin yeməyi hazırlaya bilər. Amma burada bir problem var. Kompyuterlər insan dilini anlamır. Onların bizə lazım olan işi görməsi üçün biz həmin işi onların anladığı dildə deməyə məcburuq. Proqramlaşdırmanı hər hansı bir işi kompüterə başa salma prosesi kimi anlaya bilərik. Proqramlaşdırma alqoritmin proqrama çevrilməsi prosesidir. Sadələşdirsək proqramlaşdırma proqram yazılma prosesidir. Telefonlardan kompüterlərdən tutmuş demək olar ki bir çox elektrik cihazlarının istifadə etmək üçün müxtəlif proqramlar vardır.

Yəqin ki fikirləşirsiz əmrlər ardıcıllığnın niyə özümüz etmirik, kompüterlərə deyirik. kompüterlərə nə üçün ehtiyacimiz var?. Kompüterlərin bizə verdiyi üstüklüklər aşağıdakılardır.

  • Kompüterlərin sürəti. Kompüterlər inanlımaz dərəcədə sürətlidir. Son nəsil kompüterlər hər biri milyard olan iki ədədi toplamaq üçün 1 nanosaniyədən də az vaxt tələb edir. Bu 1 saniyə ərzində 1 milyard toplama əməliyyatı yerinə yetirmək deməkdir. Bunu hər hansı bir insan edə bilərmi?. Məncə nəinki 1 milyard hətda 1 saniyyədə 10 toplama əməliyyatı edə bilməz. 
  • Kompüterlər baha deyil. Deyək siz üniversitetdə işləyirsiz və imtahanlardan sonra təyin etməlisiz ki kimlər əlaçı, kimlər zərbəçi və kimlər adi sipendiya almalıdır. Bunu etmək üçün kompüter yoxdur və siz bütün tələbələrin bütün qiymətlərinə baxıb bunu təyin etməlisiz. Bunun üçün çox böyük zaman lazımdır. İşi tez bitirmək üçün sizin kimi onlarla işçi lazımdır. Bu isə əlavə xərc deməkdir. Hələ qiymətləndirmə təyin edilən zaman səhvlik olarsa bu ya universitetin hesabından artıq pul getməsi və ya əlaçı tələbəyə adi və ya zərbəçi sipendiya verilməsinə və tələbənin haqlı narazılığına səbəb ola bilər. Kompüterlər isə bunu çox tez, dəqiq və pul itkisi olmadan edə bilirlər.
  • Kompüterlər 7/24 işləyə bilir. İnsanlar bir qədər işlədikdən sonra yorulurlar. Yatmaq dincəlmək ehtiyacları yaranır. Amma kompüterlər yorulmadan yatmadan işləyə bilirlər. Əgər siz öz işinizi kompüterin anlayacağı dilə çevirə bilsəz. O sizin yerinizə yorulmadan işləyə bilər.

Deməli bizim həqiqətən də kompüterlərlə danışmağa ehtiyacımız var. Bəs necə danışaq?. Onlara hər hansı biri işi görməsini necə deyək?

Yəqin ki kompüterlərin 0 və 1 lərlə işlədiyini bilirsiz. Amma çoxumuz kompüterlərin  0 və 1-lərlə necə işlədiyini bilmirik. Sirri isə tranzistor deyilən çox balaca çiplərdə gizlidir. Tranzistor elektrik dövrəsini ya bağlayır(elektrik keçir) yada açır(elektrik keçmir). Dövrənin bağlayan tranzitoru 1, açan isə 0 kimi qiymətləndirilir. Kompüterlərdə isə milyonlarla tranzistor var. Sadə şəkildə desək, biz tranzistorlara mütəlif 0 və 1 kombinasiyasını tətbiq edərək kompüterin müəyyən iş görməsinə nail olaruq.

Deməli biz işimizi 0 və 1 lərə çevirməliyik ki kompüterlər onu başa düşsün və icra edə bilsin. Proqramlaşdırmanın ilk vaxtları proqramçılar 0 və 1-lərdən istifadə edərək proqram hazırlayırdılar. Sonradan bunun çox çətin olduğunu nəzərə alaraq insan dilinə yaxın olan dillər hazırlamaq qərarına gəldilər. Proqramçılar alqoritmləri bu dildə kodlaşdırırlar və sonra həmin bu dildə yazılmış kodlar çevirici vasitəsi ilə maşın dilinə çevrilir və kompüterlər də icra oluna bilir. Bu kimi dillərə Assembly, C/C++, C#, Java, Python və s. misal göstərmək olar

Proqramlaşdırma dillərini aşağıdakı səviyyələrə bölə bilərik.

  • Maşın dili (0,1)
  • Aşağı səviyyə (Assembly)
  • Orta səviyyə (C və s)
  • Üst səviyyə (C# , Java, Python  və s)

Bu bölgü bəzi mənbələrdə bir qədər fərqlənə bilər. Amma bu o qədər vacib deyil. Sadəcə sizin niyə bu bölgünü aparıblar onu bilməyinizi istəyirəm. Yuxarı səviyyəyə getdikcə insanların həmin dili öyrənməsi asanlaşır. Amma kompüterlərin resuslarından istifadə etmək yuxarı səviyyəyə getdikcə azalır.

Proqramlaşdırma dillərinin də növləri vardır. Misal üçün aşağıdakıları göstərmək olar.

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir