Başlıq: Proqramlaşdırma ilə əlaqəli hər şey.
Proqramlaşdırma dilləri:
Proqramlaşdırma dilləri, kompüterlərə müəyyən tapşırıqları yerinə yetirməyi öyrətmək üçün istifadə edilən dillərdir. Bu dillər müəyyən sintaksis və qaydalara əsaslanır. Hər proqramlaşdırma dili müxtəlif məqsədlər üçün istifadə olunur. Proqramlaşdırma dilləri kateqoriyalara bölünür.
Kateqoriyalar:
- Aşağı səviyyəli dillər:
Bu dillər kompüterin texniki təchizat səviyyəsində işləyir və maşın dilinə çox yaxındır. Onlar çox güclü və performanslı olsa da, kod yazmaq və anlamaq çətin olur.
-
Maşın dili (Binary dil): Birbaşa 0 və 1 lərlə yazılır. Kompüterlər bu dili başa düşürlər, amma insanlar üçün çox çətindir.
-
Assembly dili: Maşın dilinə nisbətən daha başa düşüləndir. Assembly dili texniki təchizata daha yaxın olsa da, müəyyən mənada daha abstrakt bir səviyyədədir.
- Yüksək səviyyəli dillər:
Yüksək səviyyəli dillər insanlar üçün daha başa düşülən sintaksisə malikdir. Onlar hardware-dən daha uzaqdır və daha çox abstraksiya təklif edirlər. Bu dillər adətən daha çox insan oxunan sintaksisə malikdir və inkişaf etdiricilər üçün daha sadə olur.
-
C: Sistem proqramlaşdırması üçün çox geniş istifadə olunan universal dildir. C dili aşağı səviyyədə performans və güc təqdim edir.
-
C++: C dilinin genişləndirilməsidir C dilinin bütün qüsurlarını ortadan qaldırmaq üçün yarandı və obyekt yönümlü proqramlaşdırmanı dəstəkləyir. C və C++ dilləri əsasən driverlər, əməliyat sistemləri və oyunlar və sair sahələr üçün istifadə olunur.
-
Java: Platformadan asılı olmayan yəni cross platform (çarpaz platforma) dil olaraq tanınır. Bir çox enterprise (müəssisə) proqramlarının yazılmasında istifadə olunur.
-
Python: Sadə sintaksisə malikdir. Hətda insan dilinə ən yaxın proqramlaşdırma dili Python dur. Python elmi hesablamalara, Süni intellektə qədər geniş istifadə olunan dildir.
-
JavaScript: Əsasən web proqramlaşdırması, Mobil Aplikasiya üçün istifadə olunsa da çox yönümlü dildir. Dinamik veb səhifələr və tətbiqlər yaratmaq üçün çox geniş şəkildə istifadə olunur.
-
C#: Microsoft tərəfindən yaradılmış və .NET platformasında istifadə olunan obyekt yönümlü proqramlaşdırma dilidir. İstifadə sahəsi çox geniş dillərdən biridir. C# ilə API, oyunlar, aplikasiyalar və sair.
- Skripting dilləri:
Bu dillər əsasən sistemlərin avtomatlaşdırılması və veb proqramlaşdırma üçün istifadə olunur.
-
Python: Sadə sintaksisə görə skripting üçün geniş istifadə olunur.
-
JavaScript: Brauzerlərdə işləyən ən populyar skripting dilidir.
-
PHP: Web development üçün istifadə olunan server-tərəfi skripting dilidir.
-
Ruby: Web development üçün populyardır xüsusilə Ruby on Rails framework`ü (çərçivəsi).
Qeyd: Müxtəlif proqramlaşdırma dilləri fərqli sahələri üçün uyğunlaşdırılıb. Məsələn, aşağı səviyyəli dillər sürətli və performans tələb edən sistemlər üçün idealdır, yüksək səviyyəli dillər isə daha mürəkkəb tətbiqlər üçün yaradılıb etdirilib. Günümüz də papulyar olan bəzi proqramlaşdırma dilləri var. Bu dillər ildən ilə dəyişkənlik göstərə bilir. Amma əsasən bəzi dillər var ki, onlar uzun müddət hətda çox insana görə hər daim top 5 də olur.
Top 5:
- Python
- C/C++
- Java
- C#
- JavaScript
Proqramlaşdırmaya necə başlamalıyam?
Proqramlaşdırma sahəsi çox geniş sahədir. Bir çox kateqoriyaya bölünür lakin kateqoriyalara asılı olmayaraq hər bir hal da gedişat eyni olur bəlli bir yerə qədər.
Kateqoriyalar:
-
Back-End (Arxa tərəf): Ən geniş sahəli kateqoriyadır. Web və aplikasiyaların arxa tərəf kodlarını, oyunlar, süni intellekt və sair proyektlər üzərin də işləyə bilir. - İstifadə etdiyi texnalogiyalar: C/C++, C#, Java, Python, Ruby, PHP və s.
-
Front-End (Ön tərəf): Çox geniş auditoriyaya sahib olan kateqoriyadır. Onu bu qədər geniş auditoriya halına gəlmə səbəbi digər kateqoriyalara əsasən daha asan və rahat olmasıdır. Front-End developer web səhifələrin ön tərəf yəni interfeysini yazır. - İstifadə etdiyi texnalogiyalar: HTML, CSS, JavaScript
-
Full-Stack (Tam yığın): Developer Back-End və Front-End biliklərinə sahibdirsə bu Full-Stack developer adlanır. Full-Stack developerlərin Front-End və Back-End dən üstünlüyü əsasən Full-Stack developerlər komanda lideri olaraq təyin olunur və lahiyə də sadəcə komandanın yazdığı kodları bir araya gətiri və yoxlanış edir. Əlbətdə bu daha da çıtin və yorucu olur bir insan hər iki sahə üzrə özünü inkişaf etdirir və öyrənir. Bu səbəbdən auditoriyası kiçik olur digər sahələrə nisbətən. - İstifadə etdiyi texnalogiyalar: (Front-End və Back-End ilə eyni.)
-
App (Aplikasiya): Aplikasiya developerləri mobil və ya kompüter üçün aplikasiyalar yazır. Back-End qədər çətin olmasa da Front-End`ə nəzərən çətindir və geniş auditoriyaya sahibdir. Aplikasiya developerləri istifadə etdikləri texnalogiya, proyektinə və kariyera hədəflərinə görə dəyişkənliyini göstərməklə Back-End və Front-End biliklərinə sahib olmalıdır. - İstifadə etdiyi texnalogiyalar: Kotlin, Swift, Flutter, React Native
-
MERN-Stack: MERN (M- MongoDb E- Electron.js R- React N- Node.js) əsas olaraq bir proqramlaşdırma dili üzərindən irəlləyir. Sadəcə JavaScript və onun çərçivə (framework) və kitabxana (Library) `larını istifadə edərək proyektlər reallaşdırı. Əslin də Full-Stack kimi bir web saytın həm ön həm də arxa tərəfini yazır. Bunun xaricin də MERN-Stack developer həm web həm də aplikasiyalar yaza bilir. - İstifadə etdiyi texnalogiyalar: JavaScript(Node.js, Electron.js , React, Next.js) TypeScript, MongoDb
Proqramlaşmaya ilk addımlar:
Nəzəri biliklər: Proqramlaşdırma və ya İT nin br çox sahəsi ilə məşğul olan insanların araşdırmalı olduğu mövzulardır bunlar. Server, Cloud, Hosting, Domain, Network, CPU, GPU, RAM, IP, MAC, LAN, SSH, Protocols, IDE, Framework, Library, Environment, OOP, Database Bu mövzuları araşdırdıqca yeni mövzular da araşdırmağa başlayacaqsınız.
İlk dil: İlkin olaraq öyrənəcəklərinizi və ya öyrəndiklərinizi tətbiq etmək üçün bir dil. Bu mövzu böyük müzakirələr altında olub həmişə. Amma mənə görə iki seçim var. 1. Asan dil ilə başlayıb irəlləmək və gələcək də çətin dillərə keçid etməli olduq da çox əziyyət çəkmək. 2. Çətin dil ilə başla və gələcək də hərhansısa bir dilə keçid etdik də çətinlik çəkməmək. Mənə görə ən məntiqlisi 2 ci variantdır. İlk dil olaraq C++ ilə başlayıb proqramlaşdırmanın təməlini öyrənmək lazımdır C++ consol (konsol), C++ syntax (sintaksis) və algorithm (alqoritm) mütləq öyrənməli olduğunuz bir şeydir. - Alqoritm az da olsa öyrəndikdən sonra alqoritm bacarıqlarınəzə inkişaf etdirin. Bunun üçün web saytlar var Codewars, LeetCode bu tip saytlar da alqoritm suallarını həll edərək özünüzü inkişaf etdirin.
Əsas toxunuş: Nəzəri biliklər və İlk dili bitdikdən sonra özünüzə bir kateqoriya seçməli və o kateqoriya üzrə özünüzü inkişaf etdirməli öyrənməlisiniz. Bu seçim artıq sizin gələcək hədəfləriniz və kariyera planlarınıza görə formalaşır. Bu tip seçimləri qazanca görə deyil də maraqlı gələn həvəsiniz olduğu sahəyə, kateqoriyaya görə seçim edin. Seçdiyiniz kateqoriyaya görə YouTube və Udemy platformaların da ödənişsiz və ödənişli kurslar olur bu tip kurslardan birini seçb videolarını izləyərək və tətbiq edərək öyrənə bilərsiniz. Bunun xaricin də problemlərinizi Google də axtrış edə və ya süni intellektə (ChatGPT, Copilot) sual olaraq verə və ya anlamadığın kodu anlatmasını istəyə bilərsiniz.
Qeyd: irəlidə yeniliklər ola bilər.