Proqramlaşdırma dili öyrənmə rəhbəri

S01E09

Samir Karimov
Pragmatech
4 min readJul 23, 2019

--

Bu rəhbər spesifik bir dil üçün yazılmayıb. Hər hansı bir proqramlaşdırma dilini bu rəhbərdəki addımlara görə öyrənməyə cəhd etmək sənin öyrənmə sürətinini artıracaq.

İlk olaraq bunu yadindan çıxarma ki proqramlaşdırma dili hər hansı bir problemi həll yolunu tapdıqdan (Alqoritmini həll edib onu planlı formaya saldıqdan )sonra bu əmrləri kompyuterin anlayacağı şəkildə ifadə etmək üçün istifadə olunan bir vasitədir. Təkrar edirəm problem həlledildikdən sonra o həlli ifadə etmə vasitəsidir.

Bir proqramın bəsit olaraq istehsalı 3 mərhələdən ibarətdir.

  1. Problemi anlamaq və onu beyninizdə həlletmək
  2. Problemin həllini addım addım və aydın şəkildə ifadə etmək. Bu tamamən səndən asılıdır. Kağızda cümlələr şəklində, grafik önüzü olan proqramlar vasitəsi ilə diagramlar formasında ya da pseudocode formasında ifadə edə bilərsən.Əksər hallarda bunların hər üçündən də mərhələli şəkildə istifadə edilir.Əsas olan sənin yazdığın həllin hər hansı biri tərəfindən rahat və düzgün anlaşılmasıdır.
  3. Öz formanda ifadə etdiyin həll yolunu seçdiyin programlaşdırma dilinin “qramatik ” və sintaktik qaydalarına uyğun olaraq yazmaq.

Yeni öyrənənlərin ən çox etdiyi səhvlərdən biri ilk iki addımı ciddiyə almadan birbaşa üçüncü addıma keçməkdir. Bunun fəsadları haqqında ayrıca danışmaq lazımdır. Bir və ikinci addımı düzgün şəkildə keçmək üçün aşağıdakı yazını analiz edə bilərsən.

Bu yazı üçünçü addımla bağlıdır.

Kompyuterin ana dili (Machine Code) iki “hərf”dən ibarətdir. “Hə”, “Yox” riyazi ifadəsi ilə 1 və 0. Biz bütün iş görmək üçün lazım olan əmrləri bu dilə tərcümə etmək məcburiyətindəyik. Ana dilində proqram yazmaq aşağıdakı şəkildə təsvir olunub.

Əyər səndən bu dili öyrənib iş görməyin tələb olunsa yəqin ki el arasında deyilməyəcək ifadələr işlədərsən. Nisbətən haqlısan. Bu işin çətinliyi düşünərək ilk dövrlərdən başlayaraq araşdırmaçılar və alimlər bu işi asanlaşdıraraq insan dilinə yaxın hala gətirmək üçün bizim bu gün istifadə etdiyimiz (ümid edirəm sənin də nə vaxtsa istifadə edəcəyin) dilləri dizayn ediblər.

Bəsit olaraq bir dilin dizayn olunması prosesi müəyyən əmrin icrası üçün lazım olan 1 və 0 lardan ibarət əmr toplusuna insanların anlayacağı bir ad vermək və işi asanlaşdırmaqdır. Burda əlavə bir məsələ çıxır ortaya.Dil dizayn olunduğu zaman eyni zamanda onun tərcüməci proqramını da istehsal etmək mecburiyyəti var ki o tərcüməçi sənin yazdığı “9” ifadəsini “1001” olaraq tərcümə etsin. Bu proqramlaşdırma dillərinin strukturunun altında yatan əsas motivasiyadır. İnsanların daha rahat şəkildə problemin həll yolunu kompyuterə izah etməsinə şəraət yaradmaq.

Tarixlə aram yaxşı deyil əyər proqramlaşdırma dillərinin tarixi sənin üçün maraqlıdırsa bu infografiki analiz edəbilərsən.

Diqqətin yazıdadır?? Deyilsə fasilə ver kofe götür təkrar davam elə

Dil dizayn olunanda nəyə diqqət edilir ?

Bu sualın cavabı eyni zamanda Niyə bu qədər çox proqramlaşdırma dili var? sualının da cavabı olacaq.

Sənin qarşına bir problem qoyulduğunu düşün. Bu kərpicləri bir yerdən götürüb maşına yükləmək olsun. Bu problemin həlli üçün bir neçə yol var

  1. Kərpicləri tək tək götürüb maşına qoymaq
  2. Əl arabası alıb onun vasitəsi ilə 5 ədəd olmaqla daşımaq
  3. Xüsusi qurğu qurub sürüşdürməklə daşımaq

Buna əlavələrini edə bilərsən. Bütün bu həll yolları düzgündür yəni nəticə etibarı ilə kərpiclər maşına daşınmış olur. Amma burda bir nüans var hər həll yolunun özünə xas mənfi müsbətləri var.

  • Əgər sənin üçün kərpiclərin tez daşınması əhəmiyyətlidirsə 1-ci həll yolunu seçməzsən.
  • Əgər sənə vaxt yox az xərclə işi görmək əhəmiyyətlidirsə 2-ci və 3-cü yolu seçməyəcəksən. Qol qüvvətinə güvənəcəksən

Burdan belə çıxır ki məsələnin həllində o həlldən nələr gözlənildiyinə görə çox şey dəyişir. Bu xırda məsələdə belə sənin istədiyindən asılı olaraq işi görmə şəklin və bunu planlama və bu planlamanı icra forması da dəyişir. Diqqət et həm planlama həm də o planlamanın icra forması . Bunun bizim dünyamızdakı qarşılığı algoritm və data strukturlarının düzgün seçilməsi və bu seçimə uyğun olaraq da proqramlaşdırma dilinin dəyişməsidir.

Proqramlaşdırma dillərinin çox olmasının səbəbi də olabiləcək problemlərin həllinin ifadəsini asanlaşdırmaqdır. Hər həll yoluna uyğun olaraq ya da daha düzgün desəm hər həll üslubuna uyğun olaraq dillər dizayn edilir. Buna görə də dil sayı bu qədər çoxdur.

Proqramlaşdırma dilləri əsas iki segmente görə bir birindən fərqlənir

  1. Əmrlərin icra formasına görə dillərin fərqlənməsi

Bu mövzuda aid olan açar sözləri qeyd edirəm indilik.Çünkü bu mövzu ayrıca araşdırma tələb edir.

  • İnterpreter
  • Compiler
  • Translator
  • Assembler

Burdasan hələ də?? Sıxılmamısan ki qadan alım? Az qalıb qaqa canı bir azdan bitir yazı. Səbr elə

2. Dillərin oxuna bilmə və ifadə formasına görə fərqlənməsi.

Buna qısaca həll yolu üslubuna görə dillərin fərqlənməsi deyə bilərik. Bu fərqlənmənin səbəbi yuxarıda qeyd etdiyim kimi eyni tipli problemlərin həlli üçün bir üslub seçilir və o dizayn edilir. Bu üsluba qərar verildikdən sonra bu üslub ya bir dilin dizayn olunmasında əsas rol oynuyur ya da köməkçi vasitə olaraq əlavə edilir. Proqramlaşdırmada buna proqramlaşdırma paradiqmaları deyilir. Bu paradiqmaların sayı 10-a yaxındır. Bütün dillər bu paradiqmalardan biri və ya bir neçəsinin fəlsəfəsinə uyğun dizayn olunur.

Bəsit olaraq hansı paradiqmalar olduğuna baxmaq üçün Farid Babayev-in məqaləsinə nəzər yetirə bilərsən

Bu sənin üçün yaxşı xəbərdir. Yəni daha öncə qarşında 200-dən çox proqramlaşdırma dili vardı. Bu qorxunc kabus kimi görünürdü. Artıq işin nisbətən daha aşanlaşır. Əyər bu paradiqmaların fəlsəfələrini öncədən gözəl anlasan bu o deməkdir ki sən artiq o paradiqmadan istifadə edilərək dizayn olunmuş digər dilləri də asanlıqla öyrənə bilərsən. Bu yolla yeni dil öyrənmək əziyyətli iş olmaqdan çıxır. Uzun məqaləni musiqi ilə yekunlaşdıraq. Musiqini dinlə daha sonra davam et. Son bir neçə şey deyəcəm.

Mənim də kabab yeməyim gəldi. Mahnının sözlərinə diqqət yetir. Özbək dilindədir. Amma 60% ini başa düşürük o dili bilməsək də. Elə deyilmi? Bunun səbəbi nədir? Çünkü bizim dillərimizin üslubu və kökü eynidir.Yəni üslubu eynidir. Yəniii paradiqmaları eynidir. Bu səbəbdən biz hər hansı bu dil qrupuna aid olan dilləri asanlıqla öyrənə bilirik. O məhşur ifadə var “Qaqa bir dili öyrən sonra o biri dilləri öyrənmək asan olacaq” ifadəsinin altında yatan səbəb budur. Birbaşa dili öyrənmək yox paradiqmaları, üslubları öyrənməklə başlamaq sənin öyrənmə sürətini çox sürətləndirəcək.

Bu mərhələdən sonra öyrənmə prosesini sürətləndirəcək digər bir məsələ var. Proqramlamlaşdırma dili konseptlərini öyrənmək. Bu mövzu da qalsın başqa vaxta.

Bol oxumalar və öyrənmələr.

--

--