Proqramlaşdırma Dillərinin İnkişafı və Müasir Trendlər
Proqramlaşdırma dünyasında hər şey çox sürətlə dəyişir. Əgər 10 il əvvələ nəzər salsaq, müasir dillər və alətlər indiki qədər əlçatan və funksional deyildi. Hər keçən il proqramlaşdırma dillərinin təkamül edib daha da sadələşmiş forma almasına gətirib çıxarır.
Proqramlaşdırma dillərinin yayıldığı ilk zamanlarda proqramçılar daha çox aşağı səviyyəli dillərlə işləyirdilər, məsələn, Assembler kimi dillərlə bir neçə sətirlik kod yazmaq üçün böyük səy göstərmək lazım gəlirdi.
Lakin müasir dövrdə JavaScript, C#, Python kimi yüksək səviyyəli dillər vasitəsilə proqramlaşdırma çox daha asan və anlaşılan hala gəlib. Məsələn, eyni əməliyyatı Assembler və JavaScript ilə etmək üçün lazım olan kod nümunəsinə baxaq:
Bu kod parçasındakı məqdədimiz verilmiş “Bu bizim kitabdır” mətnində kitab sözü olub-olmadığını müəyyən edib varsa, harada olduğunu tapmaqdır.
Assembler ilə:
section .data
text db 'Bu bizim kitabdır.' 0
pattern db 'kitab' 0
result db 0
section .text
global _start
_start:
mov esi text
mov edi pattern
find:
mov ecx 4
repe cmpsb
je found
inc esi
cmp byte [esi] 0
jne find
not_found:
mov byte [result] -1
jmp done
found:
mov eax esi
sub eax text
sub eax 4
mov [result] al
done:
; Exit
mov eax 60
xor edi edi
syscall
JavaScript ilə:
function sozu_tapaq(text, pattern) {
return text.indexOf(pattern);
}
const result = sozu_tapaq("Bu bizim kitabdır.", "kitab");
console.log(result);
Göründüyü kimi, JavaScript-də eyni əməliyyatı etmək üçün cəmi bir neçə sətir kod yazmaq kifayətdir. Proqramlaşdırma dillərinin bu cür təkamülü onların daha geniş kütlələr tərəfindən mənimsənilməsinə və populyarlaşmasına səbəb olur. Bu son nəticə deyil və məlum məsələdir ki, 10 il sonra çox daha fərqli bir yerə gəlib çıxacağıq.
Süni İntellektin Kod Yazmadakı Rolu
Bu inkişaf tendensiyaları davam edərkən, süni intellekt (Artificial Intelligence – AI) də kod yazma prosesini tamamilə dəyişə biləcək bir gücə çevrilir. Gələcəkdə bəlkə də ənənəvi proqramlaşdırma dillərini əvəz edərək, insan dilində kod yazma trendləri geniş yayılacaq. Beləliklə proqramlaşdırma dilini insan dili ilə əvəz edəcəyik.
Bu nə deməkdir? – məsələn AI dil interfeysi yaradılır, yazılan insan dilində kod kompilyasiya olur hansısa mövcud proqramlaşdırma dilinə və icra edilir. Bu zaman biz pərdəarxasındakı dili görmürük və zamanla insanlar o dilin varlığını unudaraq kodları insan dilində yazmağa başlayırlar.
Misal üçün, gəlin elə yuxarıdakı “kitab” sözünü tapmaq tapşırığı üçün belə bir model quraşdıraq. İnterfeysdə kod faylı yaradılır və daxilində insan dilində kod yazılır. Kodumuz belə olsun:
"Bu bizim kitabdır." sözündə kitab sözü varmı, varsa neçənci simvolda rastlanır.
Vəssalam, kodumuz budur və işləyəcək. Bu cür tapşırıqlarda bizim görmədiyimiz “AI Kompilyasiya mərhələsində” bu “kod” çevriləcək məsələn JavaScript dilinə, icra ediləcək və cavab geri qaytarılacaq. Bu üsul, proqramçılara daha sürətli və effektiv şəkildə kod yazmağa imkan verəcək.
Nəticə etibarilə, biz, gələcəkdə kod yazanlar olaraq bu addımları görmədən birbaşa insan dilində yazını yazıb real kod yazmış kimi cavab alacağıq.
Təbi ki, bu, bəsit funksiyadır, real proqram təminatı yazarkən mürəkkəb əlaqələr, verilənlər bazası (database) ilə informasiya emalı, məntiqi struktur və s. mövcuddur və bunu asan insan dilində interfeysə uyğunlaşdırmaq üçün baş işlətmək lazımdır.
Hal-hazırda GitHub Copilot və ChatGPT kimi süni intellekt alətləri, proqramçıların işini asanlaşdırmaq üçün geniş istifadə olunur. Məsələn, GitHub Copilot proqramçılara kod yazarkən təkliflər verir və yazılan mətnə uyğun olaraq avtomatik olaraq kod parçaları təklif edir. ChatGPT isə insan dilində verilmiş sorğuları (məsələn, “Python ilə JSON faylını necə oxuya bilərəm?”) proqramlaşdırma dillərinə çevirə və izah edə bilir. Bu alətlər, proqramçılara daha sürətli və effektiv şəkildə kod yazmağa imkan verir və gələcəkdə daha inkişaf etmiş formaları ilə insan dilində kod yazmanı tamamilə mümkün edə bilər.
Amma hər bir halda bu mümkündür, hazırda önümüzdə ciddi əngəl görünmür. Süni intellekt xidmətləri bir az daha inkişaf etsə(sürət, xərc, zəka baxımdan) bir gün gələcək ki, proqramlaşdırmanı insan dilində yazmağa başlayacağıq.
Proqramlaşdırma Öyrənməyin Əhəmiyyəti
Bu nöqtədə sual yaranır: Əgər gələcəkdə proqramlaşdırma dilini insan dilinə çevirə bilən alətlər geniş yayılacaqsa, proqramlaşdırma öyrənməyə dəyərmi? Cavab birmənalı olaraq Bəli!
İki əsas səbəb var:
- Dərin Anlayış: Pərdəarxasında baş verən prosesləri, real dili anlamaq hər zaman üstünlükdür. Proqramlaşdırma dilini bilən şəxs interfeys dili ilə yazan birindən hər zaman bir addım öndədir, çünki o, işin mahiyyətinə daha yaxşı bələddir.
- Məntiqi Düşüncə: Proqramlaşdırma dilindən asılı olmayaraq, məntiqi düşüncə və alqoritm qurma qabiliyyəti dəyişməz olaraq qalacaq. Bu isə proqramlaşdırma dünyasında uğur qazanmaq üçün ən vacib bacarıqlardan biridir.
Ülvi Aslanov.